教えて!ExcelVBA!

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

【ExcelVBA ブック操作】開いているブックの数を取得(Count)するにはどうすればいいの?教えて!

f:id:m_kbou:20200418141015p:plain

幾つかのブックを開いた場合、開いたブックの数を知りたいケースがあります。その場合は開いているブックの数を取得するCountプロパティを使用します。この使い方について紹介します。

 

 

構文

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

Workbooks.Count

[説明]:

開いているブックの数を取得するには

 「Workbooks.Count」

と記述します。

 

使い方

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

[プログラミング例]:

Sub サンプル()

  MsgBox Workbooks.Count

End Sub

内容は、「現在開いているブックの数をMsgBoxで表示して下さい。」との意味になります。

f:id:m_kbou:20210403063527p:plain

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

[実行例]:

※事前準備として、Book1.xlsmファイル・Book2.xlsxファイル・Book3.xlsxファイルを開いておきます。

f:id:m_kbou:20210403063953p:plain

f:id:m_kbou:20210403064006p:plain

f:id:m_kbou:20210403064017p:plain

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

f:id:m_kbou:20210403063547p:plain

②結果は以下の様になります。Book1.xlsmファイル・Book2.xlsxファイル・Book3.xlsxファイルの3ファイルが開いているので、「3」がMsgBoxで表示されます。

f:id:m_kbou:20210403063616p:plain

[サンプル]:

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

drive.google.com

 開いているブックの数を取得する方法についての説明は以上です。

 

おわりに

今回は開いているブックの数を取得する方法について説明しました。類似した内容に開いているブック内のシートの数を取得するもあります。一緒に覚えておくとプログラミングの幅が広がります。