関数・メソッド

Excelウィンドウ(Workbooks)の数を数える【Countプロパティ】【ExcelVBA】

構文

Workbooks.Count

Count・・・ワークブック数のカウントを取得

Workbooks コレクションの Count プロパティでワークブックの数を取得します。
Count プロパティは参照のみ可能で、値の書き込みはできません。
WorkbooksをOpen/CloseやAddで新規追加を行うと、Count数は変更されます。

現在開いているブックの数を知りたい時に使用しますが、注意点(後述)があるのでご認識ください。。

Workbooks.Countプロパティのサンプルコード

Public Sub sample()

    Dim i As Long
    
    '■現在開いているブック数をカウント
    Debug.Print Workbooks.Count
    
    '■現在開いているブック名を表示
    For i = 1 To Workbooks.Count
        Debug.Print Workbooks(i).Name
    Next i

    'イメージ
    'Book1
    'Book2

    '■ForEachでも同じような結果を取得できる
    Dim wb As Workbook
    For Each wb In Workbooks
        Debug.Print wb.Name
    Next
End Sub

注意点

  • 個人用マクロブック(PERSONAL.XLSB)がある場合は、そちらもカウントされます。
  • Excel自体を2重起動すると、正常に取得が出来ません。
    その場合、マクロを動かしたExcelを対象としてカウントします。

関連記事

コメント