エクセルVBAでセルを別シート(セルの範囲も紹介)にコピーする方法

エクセルVBAで、セルを別シートにコピーする方法を紹介しています。セルを別シートコピーするには、RangeオブジェクトのCopyメソッドを使います。セルのコピーはよく使う操作です。ここでは、セルの値、セル範囲を別セル、別シートにコピーする方法も紹介しています。同じコピーの操作をよく使う、定期的に行う場合は、VBAでセルのコピーをしましょう。断然、仕事がスピードアップ、しかも、仕事が楽で入力ミスがなくなります。さらに、ボタンを作成してマクロ登録をすると、ボタンをクリックするだけで、コピーができます。ぜひ、覚えましょう。仕事がアップできます。

 

 

Copyメソッドを使用

エクセルVBAのCopyメソッドは、セルの内容をコピーします。

Copyメソッドを使うと、セルの値だけでなく、セル範囲をコピー、セルを別シートにコピーすることもできます。

Copyメソッドの構文

expression.Copy(Destination)

expression必ず指定します。対象となる Range オブジェクトを返すオブジェクト式を指定します。
Destination省略可能です。バリアント型 (Variant) の値を使用します。コピー先のセル範囲を指定します。この引数を省略すると、クリップボードへコピーされます。

 

 

セルの値をコピーする

エクセルVBAでセルを別セルにコピーしてみましょう。

Sub セルのコピー()
Range(“A1”).Copy Range(“D5”)
End Sub

セルA1の値が、D5にコピーされます。

Copyメソッドを使わずにセルをコピーする

セルの値のコピーは、Copyメソッドを使わなくてもできます。

次のVBAで、セルのコピーを実行してみましょう。

Sub セルの値を転記()
Dim Cop As String
Cop = Range(“A1”).Value
Range(“C1”).Value = Cop
End Sub

セルA1の値が、C1にコピーされます。

 

 

セルの範囲をコピーする

セルの範囲を、コピーしてみましょう。

Sub セル範囲をコピー()
Range(“A1:C3”).Copy Range(“F1:H3”)
End Sub

セル範囲「A1:C3」の値が、セル範囲「F1:H3」にコピーされます。

セル範囲のコピーは、次のように省略することもできます。

Sub セル範囲をコピーA()
Range(“A1:C3”).Copy Range(“F1”)
End Sub

コピー元は省略できません。必ずセル範囲を指定しましょう。

コピー先は省略できるので、範囲が広い場合は省略した方が楽です。

セルの値を範囲にコピーする

セルの値を範囲を、コピーしてみましょう。

Sub セル値を範囲にコピー()
Range(“A1”).Copy Range(“F1:H3”)
End Sub

「A1」の値が、セル範囲「F1:H3」にコピーされます。

こちらの記事もご覧ください。⇒エクセルVBAでセルの値を取得(転記)する方法

 

セルを別シートにコピーする

エクセルVBAで、セルを別シートにコピーするVBASです。

Sub セルを別シートのコピー()
Worksheets(“Sheet1”).Range(“A2:C5”).Copy Worksheets(“Sheet2”).Range(“D2:F5”)
End Sub

シート「Sheet1」セル範囲「A2:C5」の値が、シート「Sheet2」セル範囲「D2:F5」にコピーされます。

別シートへのセル範囲コピーは、次のように省略することもできます。

Sub セルを別シートのコピーA()
Worksheets(“Sheet1”).Range(“A2:C5”).Copy Worksheets(“Sheet2”).Range(“D2”)
End Sub

セル範囲が広い場合は、この方がすっきりとして簡単です。

セルのコピーには形式を指定できる

別シートにセルをコピーは、エクセルVBA Copyメソッドでできます。ですが、 Copyメソッドを使うと、セルの値のコピーだけでなく、形式を指定してコピーもできます。例えば、セルの内容を、全て貼付け、数式だけ、書式だけ・・といったように、形式を指定して貼り付けられます。形式を細かく指定してコピーしたい場合に便利です。セルのコピーは普段からよく使う操作です。同じコピーをよく使う場合は、エクセルVBAでセルのコピーを作成しておきましょう。仕事をより効率よくするには、VBAを実行するボタンを作成することをおすすめします。

こちらの記事もご覧ください。⇒エクセルVBAで形式を選択してセルをコピー、貼付けする!