現在アクティブになっているブックのシートを、他のブックにコピーする方法です。前もって、コピー先のブックを作っておきます。
ここでは、ブックのシートを、別のブックにコピーするマクロと、Copyメソッドの使い方の解説をします。
Copy Beforeメソッドで別のブックにコピーする
通常のワークシートをコピーする場合と同じように、Copyメソッドを使います。コピー先を別のブックに指定することで、シートを別のブックにコピーすることができます。
Sub サンプル4140()
Workbooks("Book1").Worksheets("Sheet1").Activate
ActiveSheet.Copy Before:=Workbooks("Book2").Sheets(1)
End Sub
- コード解説
-
Workbooks(“Book1”).Worksheets(“Sheet1”).Activate
’ ブック(“Book1”)のシート(“Sheet1”)をアクティブActiveSheet.Copy Before:=Workbooks(“Book2”).Sheets(1)
’ アクティブなシートをコピーして、ブック(“Book2”)の1番目のシートの前に挿入
マクロの実行前の画像
Book1とBook2を作ります。
マクロの実行結果
Book1の「Sheet1のコピー」が、Book2に「Sheet1(2)」として作成されます。
Copy Afterメソッドで別のブックにコピーする
通常のワークシートをコピーする場合と同じように、Copyメソッドを使います。コピー先を別のブックに指定することで、シートを別のブックにコピーすることができます。
Sub サンプル4150()
Workbooks("Book1").Worksheets("Sheet1").Activate
ActiveSheet.Copy After:=Workbooks("Book2").Sheets(1)
End Sub
- コード解説
-
Workbooks(“Book1”).Worksheets(“Sheet1”).Activate
’ ブック(“Book1”)のシート(“Sheet1”)をアクティブActiveSheet.Copy After:=Workbooks(“Book2”).Sheets(1)
’ アクティブなシートをコピーして、ブック(“Book2”)の1番目のシートの後に挿入
マクロの実行前の画像
Book1とBook2を作ります。
マクロの実行結果
Book1の「Sheet1のコピー」が、Book2に「Sheet1(2)」として作成されます。
Copyメソッドの記述方法
Copyメソッドは、ワークシートの記述方法に次のような方法があります。
記述例 | 説明 |
---|---|
Sheets(“Sheet1”).Copy | ワークシート(“Sheet1”)をコピーします。 |
Worksheets(“Sheet1”).Copy | ワークシート(“Sheet1”)をコピーします。 |
Sheets(1).Copy | ワークシート名に関係なく、1 番目のシートをコピーします。 |
Worksheets(2).Copy | ワークシート名に関係なく、2 番目のシートをコピーします。 |
Copy After:=Sheets(“Sheet2”) | ワークシート(“Sheet2”)の後に、コピーを入れます。 |
Copy Before:=Sheets(“Sheet2”) | ワークシート(“Sheet2”)の前に、コピーを入れます。 |
まとめ
- Copyメソッド
-
指定したシートをコピーする。
- Copy Beforeメソッド
-
指定したシートの前に、シートをコピーする。
- Copy Afterメソッド
-
指定したシートの後に、シートをコピーする。