構文
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】



コメント