次の方法で共有

CutCopyMode が xlCut にならない

Anonymous
2017-08-11T06:02:26+00:00

Windows10 で Office365 の Excel 2016 を使用しています。

マクロにて ThisWorkbook オブジェクトの App_SheetChange() 内に

Dim vCCM As Variant

vCCM = Application.CutCopyMode

を入れて vCCM をウォッチしてみたところ

セルの値をコピー後に別のセルに貼り付けるときには vCCM = xlCopy (=1)になるのですが

セルの値をカットして別のセルに貼り付けるときには

カットのタイミングでも貼り付けるタイミングでも vCCM = 0 となってしまい

xlCut (=2) になりません。

MSDN↓に書かれている動作と食い違っていると思われるのですが

https://msdn.microsoft.com/ja-jp/library/office/ff839532.aspx

切り取りモード時に xlCut にするためには何か設定が必要なのでしょうか?

あるいは SheetChange イベント発生時にはすでに切り取りモードが終わっているのでしょうか?

なお、コピーは [Ctrl]+[c] 、カットは [Ctrl]+[x] 、貼り付けは [Ctrl]+[v] の

キーボードショートカットを使用しています。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2017-08-11T17:35:48+00:00

>ということは「SheetChange イベント発生時にはすでに切り取りモードが終わっている」

>ということですね?

実験結果から私はその様に考えていますが,公式な資料を見付けられなかった為,あくまで実験結果を踏まえた私見です.

>そのタイミングで受け取れるイベントは何かありますか?

>できればThisWorkbook内で処理したいのですが Workbook オブジェクトには

>適当なイベントが見つかりませんでした。

申し訳ありませんが,当方の知識では解決策をご提案できない為,他の回答者の方からのご回答をお待ち下さい.

また,VBAに関するご質問ですので,開発者の方々が多く利用されているMSDNフォーラムのVBAフォーラム

https://social.msdn.microsoft.com/Forums/ja-JP/home?forum=vbajp

をご活用になるとアドバイスなどが集まりやすいかもしれません.

この回答は役に立ちましたか?

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2017-08-11T11:00:27+00:00

>カットのタイミングでも貼り付けるタイミングでも vCCM = 0 となってしまい

[Ctrl]+[x]だけを実行し,「点滅している枠線」がある状態でApplication.CutCopyModeの値をVisual Basic Editorのイミディエイトウィンドウで確認しても2になっていませんか?

   

この回答は役に立ちましたか?

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2017-08-12T02:24:46+00:00

    GurikoMさん

    アドバイスありがとうございます。

    MSDNのVBAフォーラムに質問を入れましたのでそちらで待つことにいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2017-08-11T14:34:20+00:00

    ご回答ありがとうございます。

    たしかにこのタイミングでは 2 になります。

    ということは「SheetChange イベント発生時にはすでに切り取りモードが終わっている」ということですね?

    SheetChange イベント発生時に

    「通常の記入」なのか「Copy後の貼り付け」なのか

    「Cut後の貼り付け」なのかを切り分けしようとすると

    切り取りを実行したタイミングでフラグを立てておく必要がありますね。

    そのタイミングで受け取れるイベントは何かありますか?

    できればThisWorkbook内で処理したいのですが Workbook オブジェクトには

    適当なイベントが見つかりませんでした。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません