Sub Macro1()
'
[A1:C3].Copy
[A11].PasteSpecial
End Sub
行ってみて下さい。緑の点線が残っています。
このままだと、ついうっかり、別のところへペーストしてしまう危険があります。見た目も悪いし、マクロ実行後に、こんなものが残っていたら、何で?と思います。
CutCopyMode = False
を入れておけばこの危険はなくなります。
危険防止と見た目ですね。
通常のエクセルでも、コピーの後、Esc を押すか、どこかのセルに入力するかで、コピーモードを解除していると思います。この作業です。
Sub Macro2()
'
[A1:C3].Copy [A11]
End Sub
の書き方であれば、緑の点線は残らないのでいりません。
> コピー状態を削除する為のプロパティ
削除ではなくて解除の間違いではありませんか。
コピー貼り付けをするとコピーしたセルが点線で囲まれて、連続して貼り付けができます。貼り付けが終わったのに点線で囲まれたままにしたくない場合それを解除するために利用します。
ちなみにTest()は成功しますがTest2()は解除した後に貼り付けをしてるのでエラーになります。
Sub Test()
Range("A1").Copy
Range("B1").PasteSpecial
Range("C1").PasteSpecial
End Sub
Sub Test2()
Range("A1").Copy
Range("B1").PasteSpecial
Application.CutCopyMode = False
Range("C1").PasteSpecial
End Sub
お礼
ご回答ありがとうございます! 今は出先なので試せませんが帰宅次第SI299792さんに貼って頂いたコードを試してみます。 理由は危険防止と見た目なんですね、なるほど… 確かに私も実行完了後に緑の点線が残ってたら疑問に思います。 見た目という点を除いても、マクロ完了後のミスを防ぐ為にはCutCopyModeをつけた方が安全なんですね。 分かりやすく解説してくださりありがとうございました!