教えて!ExcelVBA!

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

【ExcelVBA ブック操作】ブックを新規作成(Add)するにはどうすればいいの?教えて!

f:id:m_kbou:20200418125301p:plain

Excelブックを新規で作成するにはAddメソッドを使用します。Addメソッドには引数を指定する事も可能で、引数にシートの種類を指定すると、指定した種類のシートを1枚含んだブックが新規で作成されます。また、指定しない場合にはただ単に新規ブックを作成します。このAddメソッドの使い方について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Workbooks.Add([引数])

[説明]:

ブックを新規追加させる場合は

 「Workbooks.Add([引数])」

と記述します。

[引数]

ブックの新規作成時に追加するシートの種類を記述します。
具体的には以下のいずれかを記述します。
・ワークシートを追加:xlWBATWorksheet
・グラフシートを追加:xlWBATChart
※省略する事も可能で、省略時には単にブックを新規作成します。

[記述例]:

Workbooks.Add (xlWBATWorksheet)
Workbooks.Add (xlWBATChart)
Workbooks.Add

 

使い方

使い方について具体的に説明します。

ワークシートを1枚含んだブックを新規作成する方法

ワークシートを1枚含んだブックを新規作成方法について説明します。

[プログラミング例]:

Sub サンプル()

  Workbooks.Add (xlWBATWorksheet)
  MsgBox "ワークシートを1枚含んだブックを作成しました。"

End Sub

内容は、「ワークシートを1枚含んだブックを新規で作成し、最後にMsgBoxで”ワークシートを1枚含んだブックを作成しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210212091153p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210317072049p:plain

②結果はワークシートを1つ含んだ新しいブック(Sheet1)が作成され、MsgBoxで「ワークシートを1枚含んだブックを作成しました。」が表示されます。

f:id:m_kbou:20210317072102p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

引数でワークシートを作成する指定をしたブックの新規作成方法についての説明は以上です。

 

グラフシートを1枚含んだブックを新規作成する方法

グラフシートを1枚含んだブックを新規作成する方法について説明します。

[プログラミング例]:

Sub サンプル()

  Workbooks.Add (xlWBATChart)
  MsgBox "グラフシートを1枚含んだブックを作成しました。"

End Sub

内容は、グラフシートを1枚含んだブックを新規で作成し、最後にMsgBoxで”グラフシートを1枚含んだブックを作成しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210209140319p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210317072751p:plain

②結果はグラフシートを1つ含んだ新しいブック(グラフ1)が作成され、MsgBoxで「グラフシートを1枚含んだブックを作成しました。」が表示されます。

f:id:m_kbou:20210317072804p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

引数でグラフシートを作成する指定をしたブックの新規作成方法についての説明は以上です。

 

ブックの新規作成方法(引数省略) 

引数を省略したブックの新規作成方法について説明します。

[プログラミング例]:

Sub サンプル()

  Workbooks.Add
  MsgBox "新規ブックを作成しました。"

End Sub

内容は、「新規でブックを作成し、最後にMsgBoxで”新規ブックを作成しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210212092326p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210317073346p:plain

②結果は新しいブック(Book1)が作成され、MsgBoxで「新規ブックを作成しました。」が表示されます。

f:id:m_kbou:20210317073359p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ブックの新規作成方法についての説明は以上です。

 

おわりに

今回はブックの新規作成方法について説明しました。Excelでブックを新規作成した時、作成したばかりのブックはWindowsが管理するファイルとしては実在していません。名前を付けて保存をする事で、初めてエクスプローラー上に表示されるファイルとして存在する事になります。注意して下さい。