Excel VBAのCutCopyModeプロパティについて
Excel VBAでデータをコピーまたは切り取りした後、一部のユーザーは、選択したセルの周囲にマーチングアンツ(点線の枠)が表示されることに気付くかもしれません。これは、Excelがコピーまたは切り取りされたデータを記憶していることを示しています。しかし、この状態は必ずしも望ましいわけではありません。ここで役立つのが、CutCopyModeプロパティです。
CutCopyModeプロパティを使用すると、Excel VBAでこれらのマーチングアンツを非表示にすることができます。具体的には、ApplicationオブジェクトのCutCopyModeプロパティをFalseに設定することで、Excelがコピーまたは切り取り操作を「忘れさせる」ことができます。
基本的な使用法
以下に基本的な使用法を示します:
Application.CutCopyMode = False
この一行をコードに追加するだけで、Excelはコピーまたは切り取り操作を「忘れ」、選択したセルの周囲のマーチングアンツを消去します。
サンプルコード1: データをコピーした後のCutCopyModeの使用
Sub UseCutCopyModeAfterCopy()
Range("A1:A10").Copy Range("B1")
Application.CutCopyMode = False
End Sub
このサンプルコードでは、”A1:A10″の範囲をコピーし、”B1″にペーストします。その後、Application.CutCopyModeプロパティを使用して、マーチングアンツを消去します。
サンプルコード2: データを切り取った後のCutCopyModeの使用
Sub UseCutCopyModeAfterCut()
Range("A1:A10").Cut Range("B1")
Application.CutCopyMode = False
End Sub
このサンプルコードでは、”A1:A10″の範囲を切り取り、”B1″にペーストします。その後、Application.CutCopyModeプロパティを使用して、マーチングアンツを消去します。