コピーや切り取ったレンジのペースト
範囲のコピーと範囲指定

3行マクロ 69回
コピーと貼り付けのマクロコード
コピーと貼り付けのコードを詳しく解説します。
ベースのコードは、記録のマクロから作ります。
(サンプルファイルは、こちらから 3行マクロ19回サンプルデータ)
セル範囲をコピーするCOPYメソッド
まず、下記の範囲をコピーして貼り付けるマクロを記録で作ります。

D2セルを選択して貼り付けて、記録のマクロを終了します。

できたコードは、このようなコードになりました。

こちらのコードをスリムにします。Select Selection の部分を削除して1行にします。
Sub コピー転記2()
Range("B2:B5").Copy
Range("D2").Select
ActiveSheet.Paste
End Sub
PastメソッドのオブジェクトはWorksheetです。Destination引数に貼り付け先であるセルを指定できます。
Sub コピー転記2()
Range("B2:B5").Copy
ActiveSheet.Paste Destination:=Range("D2")
End Sub

すると、コードは、さらに簡略化できます。

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

CopyメソッドのDestinationを使う
さらに、CopyしてPastしてという手順をCopyメソッドのDestinationを使うことで、1つにまとめてしまうことができます。

Copyメソッドは、引数にPastと同じDestinationという貼り付け先を指定する引き数をもっているのです。
Application.CutCopyMode = False は不要になります。

Sub コピー転記4()
Selection.Copy Destination:=Selection.Offset(0, 2)
End Sub
コピー元の選択範囲の指定を楽にするコード
Selectionは、便利な範囲指定方法ですが、その範囲が広かったり、大きかったりすると、選択することも結構たいへんですね。
そういう時に、現在の範囲を指定するコードがCurrentRegionプロパティです。

この場合は、どこでも1か所選択すれば、そのセルを含むCurrentRegionを特定できますが、

今回のように、コピーした内容を転記する場所を移動する時に使うようにするには、アクティブセルは、範囲の左上がベストです。

Sub コピー転記5()
ActiveCell.CurrentRegion.Copy Destination:=ActiveCell.Offset(0, 7)
End Sub
マクロを実行すると、貼り付け先は、アクディブセルから列方向に7つ移動したセルに貼り付けるという形で実行されます。
