Vba を使用してテーブル内の行を数える方法 (例あり)


VBA を使用して Excel のテーブル内の行数をカウントするには、次の構文を使用できます。

 SubCountTableRow ()

Dim tbl As ListObject

'specify table to count rows in
Set tbl = ActiveSheet.ListObjects(" Table1 ")

'create message box that displays row count
MsgBox " Total Rows: " & tbl.Range.Rows.Count & vbNewLine & _
       " Header Rows: " & tbl.HeaderRowRange.Rows.Count & vbNewLine & _
       " Body Rows: " & tbl.ListRows.Count

'set tbl variable to Nothing
Set tbl = Nothing

End Sub

この特定の例では、アクティブ シートのTable1というテーブルの次の行数をカウントします。

  • 総行数
  • ヘッダー行の総数
  • ボディラインの総数

MsgBox関数を使用して、これらの各値を 1 つのメッセージ ボックスに表示するメッセージ ボックスを作成します。

: vbNewLineステートメントを使用して、新しい行を挿入し、複数行のメッセージ ボックスを作成します。

次の例は、この構文を実際に使用する方法を示しています。

例: VBA を使用してテーブル内の行をカウントする方法

さまざまなバスケットボール選手に関する情報を含む次のTable1というテーブルがあるとします。

このテーブルの行数をカウントする次のマクロを作成できます。

 SubCountTableRow ()

Dim tbl As ListObject

'specify table to count rows in
Set tbl = ActiveSheet.ListObjects(" Table1 ")

'create message box that displays row count
MsgBox " Total Rows: " & tbl.Range.Rows.Count & vbNewLine & _
       " Header Rows: " & tbl.HeaderRowRange.Rows.Count & vbNewLine & _
       " Body Rows: " & tbl.ListRows.Count

'set tbl variable to Nothing
Set tbl = Nothing

End Sub

このマクロを実行すると、次の出力が表示されます。

メッセージ ボックスには、テーブルに合計10行があることが示されています。

これは、ヘッダー行が1 つと本文行が9 つあることも示しています。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBAを使用して範囲内の一意の値をカウントする方法
VBAを使用して範囲内の行数をカウントする方法
VBA を使用して特定のテキストが含まれるセルを数える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です