まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】開いているブック内のシートの数を取得(Count)するにはどうすればいいの?教えて!

       f:id:m_kbou:20190802150426p:plain

開いているブック内のシート数を取得する方法について説明します。数を取得するにはCountプロパティを使用します。

 

【目次】

 

構文

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

=======================================================================

Workbooks(”[ブック名]”).Worksheets.Count

=======================================================================

[説明]:

ブック内のシート数を取得するには、Countプロパティを記述します。[ブック名]にはシート数を数えるブック名を記述します。ブック名は「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[ブック名]で記述したブックに含まれているシート数を教えて下さい。」との意味になります。

[記述例]:

Workbooks("Book1.xlsm").Worksheets.Count

 

使い方

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

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox "シート数 = " & Workbooks("Book1.xlsm").Worksheets.Count
End Sub

-------------------------------------------------

内容は、「Book1.xlsm内に含まれるシート数をカウントし、最後にMsgBoxで”シート数 = X”で表示して下さい。」との意味になります。

[実行例]:

※シートが3つあるので、”シート数 = 3”が表示されました。

f:id:m_kbou:20190802150442p:plain

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

 

おわりに

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