教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セルの値や範囲をコピー(Copy)して指定場所に貼り付けする方法を教えて!

構文

構文は以下の通りです。

Range("コピー元のセル範囲").Copy Destination:=Range("コピー先のセル")

解説

Copyメソッドは、セルの値や書式をコピーして別の場所に貼り付けます。コピー元の範囲は、コピーしたいセルや範囲を指定します。Destination引数は、コピー先のセルを指定します。

使い方

例として、A1セルの値をB1セルにコピーするプログラムを作成します。

Sub CopyCell()
    Range("A1").Copy Destination:=Range("B1")
End Sub

プログラミング例

以下に、具体的なプログラミング例を示します。

例1

このプログラムを実行すると、指定した範囲がコピーされ、D1セルに貼り付けられます。

Sub CopyExample()
    Range("A1:B5").Copy Destination:=Range("D1")
End Sub

例2

このマクロを実行すると、セル範囲A1:B2がコピーされ、C1に貼り付けられます。

Sub CopyAndPaste()
    Dim sourceRange As Range
    Dim destinationRange As Range
    ' コピー元の範囲を指定
    Set sourceRange = Range("A1:B2")
    ' コピー実行
    sourceRange.Copy
    ' コピー先の範囲を指定
    Set destinationRange = Range("C1")
    ' 貼り付け実行
    destinationRange.PasteSpecial
End Sub

まとめ

Copyメソッドを使うことで、セルの値や書式を簡単にコピーして別の場所に貼り付けることができます。是非活用してください。