VBAでシートを別ブックにコピーしたいときはないでしょうか。
けど、そんな中で悩むことは、
・VBAのシートを複数の別ブックにコピーしたいが方法がわからない
ですよね。
今回はそんなお悩みを解決する
・VBAでシートを複数の別ブックにコピーする方法
についてまとめます！
もくじ
## VBAでシートを別ブックにコピーするイメージ
VBAでシートを別ブックにコピーするイメージについて説明をします。
以下のようにコピー元となるひな形シートを用意します。
まずは、元シートを同一ブック内で複数コピーし、シートをコピーする基本を確認します。
続いて、別ブックへ元シートをコピーしていきます。
元シートから別シートへ複数コピーされました。
元シートのひな形シートが2種類以上ある場合も同時に別シートへコピーしていきます。
最後に複数の別ブックへ元シートを複数コピーしていきます。
月次や年次ごとの資料を作成する時に便利ですね。
それでは早速試してみましょう。
## VBAでシートを複数コピーする方法
VBAでシートを複数コピーする基本の方法について説明をします。
### サンプルデータを準備する
サンプルデータを元シートとなるひな形シートへ入力しましょう。
### VBAコード
サンプルのVBAコードは以下の通りです。
'件数分コピー処理を繰り返します。
For i = 1 To 5
'末尾のシートの後にシートを追加します。
### VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
### VBAを実行する
VBAを実行してみましょう。
同一ブック内にひな形シートが5こ複製コピーされましたね。
### VBAの説明
VBAについて説明をします。
件数分コピー処理を繰り返します。
Sheetsコレクションの”ひな形”シートをコピーし、最後のシート（Sheets.Count）の後ろにシートを挿入します
アクティブシートの後ろにシートを挿入したい場合は以下のようにActiveSheetを指定してください。
## VBAでシートを別ブックへ複数コピーする方法
Sheets("ひな形").Copy After:=ActiveSheet
VBAでシートを別ブックへ複数コピーする基本の方法について説明をします。
元シートは前回のものを使用します。
コピー先のブックを新規作成します。
'コピー先のエクセルを開きます。
Set objWorkbook = Workbooks.Open("F:\test\別ブック.xlsx")
'別ブックを保存します。
'別ブックを閉じます。
'objWorkbook.Close
'オブジェクトを解放します。
### VBAを設定する
VBAを設定していきます。
コピー先のエクセルのパスを指定します。
元シートのあるブック名と元シート名を指定します。
Workbooks("元シート.xlsm").Sheets("ひな形").Copy
別ブックにひな形シートが5こ複製コピーされましたね。
コピー先のエクセルを開き、オブジェクトにセットします。
Sheetsコレクションの”ひな形”シートを別ブックへコピーし、別ブックの方の最後のシート（Sheets.Count）の後ろにシートを挿入します
別ブックを保存したい場合はコメントアウトを外して有効にしてください。
objWorkbook.Save
別ブックを閉じたい場合はコメントアウトを外して有効にしてください。
objWorkbook.Close
## VBAで複数シートを別ブックへコピーする方法
VBAで複数シートを別ブックへコピーする方法について説明をします。
元シートは前回のものにもう一つ追加します。
Sub 複数のシートを別ブックへコピーする()
Workbooks("元シート.xlsm").Sheets(Array("ひな形", "ひな形2")).Copy After:=objWorkbook.Sheets(objWorkbook.Sheets.Count)
元シートのあるブック名と元シート名を指定します。今回は複数シートありますので、配列でシートを指定しています。
Workbooks("元シート.xlsm").Sheets(Array("ひな形", "ひな形2"))
別ブックに2つのひな形シートがコピーされましたね。
## VBAでシートを複数の別ブックへコピーする方法
VBAでシートを複数の別ブックへコピーする方法について説明をします。
元シートは一つのものを使います。
コピー先のブックを複数新規作成します。
'別ブック格納先パスを入力します。
複数の別ブックにシートがコピーされましたね。
## VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」＋「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
## VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「
実行」をクリックします。
②処理がされたことが確認できれば完了です。
## さいごに
いかがでしょうか。
今回は、
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。