構文
Object.Copy(Destination)
Destination・・・貼付先のセルを指定します。【省略可能】
指定したオブジェクト(Rangeでのセル・セル範囲)をコピーします。
Copyメソッドのコードサンプル
Public Sub test() '■特定セルをコピーする Range("A1").Copy Cells(1, 1).Copy '■セル範囲をコピーする Range("A1:A5").Copy '■B1に貼り付ける Paste Destination:=Range("B1") '■コピーしたセルを別セルに貼り付ける。 Range("A1").Copy Destination:=Range("B1") '■コピーしたセルを別セルに貼り付ける。 Range("A1:A5").Copy Destination:=Range("B1") '"B1:B5"に反映 Range("A1:A5").Copy Destination:=Range("B1:B5") '"B1:B5"に反映 '■少しは間違っていても自動的に補正してくれる Range("A1:A5").Copy Destination:=Range("B1:B4") '"B1:B5"に反映 Range("A1:A5").Copy Destination:=Range("B1:B6") '"B1:B5"に反映 Range("A1:A5").Copy Destination:=Range("B1:C2") '"B1:B5"に反映 '■Cellsで指定する場合はこちら Range("A1:A5").Copy Destination:=Cells(1,2) '"B1:B5"に反映 End Sub
注意点
- Cutメソッドを使用した場合と違い、PasteSpecialメソッドが使用可能です。
※手動で右クリック→コピーした時と同じ動作です。 - こちらのようにフォーマットを貼付するときはコピーペーストする事も多いですが、
通常はValueで反映が望ましいでしょう。(クリップボードを使用せずともVBA側で使えるのでCopyメソッドは2度手間です)
関連記事
セルに値を入力する【Valueプロパティ】【ExcelVBA】
.Valueは必要?不必要?省略しても良い?【ExcelVBA】
【VBA一覧】XlPasteType列挙 定数一覧
クリップボードの中身を貼り付ける【Pasteメソッド】※PasteSpecialがおすすめ
形式を選択して貼り付ける【PasteSpecialメソッド】
セルを切り取る【Cutメソッド】【ExcelVBA】
コメント