「vba テーブル数 シート内」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)で、ワークシート内のテーブル数・ListObjectオブジェクトの数を取得するには、どのようなコードを書けばいいのかを探している方による検索です。
アクティブシートのテーブル数を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなシート上に存在する、ListObjectオブジェクトの数がメッセージボックスに表示されます。MsgBox ActiveSheet.ListObjects.Count
End Sub
ListObjectオブジェクトをメンバーとして持つ、
ListObjectsコレクションオブジェクトのCountプロパティで、
ListObjectオブジェクトの数・テーブル数を取得することができます。
テーブル・ListObjectオブジェクトの有無を確認するマクロで利用しているのと、同じオブジェクト式です。
全ワークシートのテーブル数を取得するサンプルマクロ
以下のマクロを実行すると、ワークシートの名前とテーブル数が順番に、メッセージボックスへ表示されます。
Dim sh As Worksheet
For Each sh In Worksheets
MsgBox sh.Name & " : " & _
sh.ListObjects.Count
Next sh
Worksheetsプロパティで、すべてのワークシートを表すWorksheetsコレクションオブジェクトを取得して、全ワークシートに対してFor Each~Nextループを回して、
For Each sh In Worksheets
シート名と、テーブル数をメッセージボックスに表示しています。
MsgBox sh.Name & " : " & _
sh.ListObjects.Count
Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » シート内のテーブル数・ListObjectの数を取得する