転記の基本コピーとペースト 、コピーと貼り付けの範囲指定を丁寧に

コピーや切り取ったレンジのペースト

範囲のコピーと範囲指定

3行マクロ 69回

コピーと貼り付けのマクロコード

コピーと貼り付けのコードを詳しく解説します。
ベースのコードは、記録のマクロから作ります。

(サンプルファイルは、こちらから 3行マクロ19回サンプルデータ

セル範囲をコピーするCOPYメソッド

まず、下記の範囲をコピーして貼り付けるマクロを記録で作ります。
転記の基本コピーとペーストマクロ1
D2セルを選択して貼り付けて、記録のマクロを終了します。
転記の基本コピーとペーストマクロ2
できたコードは、このようなコードになりました。
転記の基本コピーとペーストマクロ3
こちらのコードをスリムにします。Select Selection の部分を削除して1行にします。
Sub コピー転記2()
    Range("B2:B5").Copy
    Range("D2").Select
    ActiveSheet.Paste
End Sub
転記の基本コピーとペーストマクロ4
PastメソッドのオブジェクトはWorksheetです。Destination引数に貼り付け先であるセルを指定できます。
Sub コピー転記2()
    Range("B2:B5").Copy
    ActiveSheet.Paste Destination:=Range("D2")
End Sub
転記の基本コピーとペーストマクロ5
すると、コードは、さらに簡略化できます。
転記の基本コピーとペーストマクロ6

クリックボードのコピーを開放する

CutCopyModeをFalseにすることで、コピー元のセル範囲を囲んでいた緑の点線表示を消し、クリップボードが保持しているデータを開放します。
転記の基本コピーとペーストマクロ7

CopyメソッドのDestinationを使う

さらに、CopyしてPastしてという手順をCopyメソッドのDestinationを使うことで、1つにまとめてしまうことができます。
転記の基本コピーとペーストマクロ8
Copyメソッドは、引数にPastと同じDestinationという貼り付け先を指定する引き数をもっているのです。
Application.CutCopyMode = False は不要になります。 転記の基本コピーとペーストマクロ9
Sub コピー転記4()
    Selection.Copy Destination:=Selection.Offset(0, 2)
End Sub

コピー元の選択範囲の指定を楽にするコード

Selectionは、便利な範囲指定方法ですが、その範囲が広かったり、大きかったりすると、選択することも結構たいへんですね。
そういう時に、現在の範囲を指定するコードがCurrentRegionプロパティです。
転記の基本コピーとペーストマクロ10
この場合は、どこでも1か所選択すれば、そのセルを含むCurrentRegionを特定できますが、
転記の基本コピーとペーストマクロ11
今回のように、コピーした内容を転記する場所を移動する時に使うようにするには、アクティブセルは、範囲の左上がベストです。
NAMAマクロ12
Sub コピー転記5()
    ActiveCell.CurrentRegion.Copy Destination:=ActiveCell.Offset(0, 7)

End Sub
マクロを実行すると、貼り付け先は、アクディブセルから列方向に7つ移動したセルに貼り付けるという形で実行されます。
転記の基本コピーとペーストマクロ13