ExcelのVBAで新たにブックを作るには「Workbooks.Add」メソッドを使います。
< スポンサーリンク >
Add構文
式.Add(Template)
Template = 作成するブックの種類(下表)を指定。新しいブックには指定された種類のシートが1枚作成される。
名前 | 値 | 説明 |
---|---|---|
xlWBATChart | -4109 | グラフ |
xlWBATExcel4IntlMacroSheet | 4 | Excel バージョン 4 のマクロ |
xlWBATExcel4MacroSheet | 3 | Excel バージョン 4 のインターナショナル マクロ |
xlWBATWorksheet | -4167 | ワークシート |
VBAでブックを作成
Templateを指定せずに作成する
Templateを指定しなければ、通常のブックが作成されます。
Sub BookAddTest1()
Workbooks.Add
End Sub
Templateを指定して作成する
・グラフ
Sub BookAddTest2()
Workbooks.Add (xlWBATChart)
End Sub
・Excel バージョン 4 のマクロ
Sub BookAddTest3()
Workbooks.Add (xlWBATExcel4IntlMacroSheet)
End Sub
・Excel バージョン 4 のインターナショナル マクロ
Sub BookAddTest4()
Workbooks.Add (xlWBATExcel4MacroSheet)
End Sub
・ワークシート
Sub BookAddTest5()
Workbooks.Add (xlWBATWorksheet)
End Sub
・テンプレートとして保存してあるファイルを元に新にワークブックを作る
「勤怠管理表」というテンプレートを元に作ります。(ファイル名はフルパスで)
Sub BookAddTest6()
Workbooks.Add “C:\Users\admin\Documents\Office のカスタム テンプレート\勤怠管理表.xltx”
End Sub
シートの数を指定してブックを作成
シートの数を指定するには「SheetsInNewWorkbook プロパティ」を「Workbooks.Add メソッド」の前に使います。
※SheetsInNewWorkbookを指定すると、Excelのオプション内の「新しいブックの作成時」の「ブックのシート数」が変更され、今後、変更されたシート数でブックが作成されるので元に戻す。
Sub BookAddTest7()
‘シートの数を指定
Application.SheetsInNewWorkbook = 5
‘ブック作成
Workbooks.Add
‘シートの数を元に戻す
Application.SheetsInNewWorkbook = 1
End Sub
こんな記事も書いています