Vba: 範囲内の行数をカウントする方法
VBA を使用して Excel で範囲内の行数をカウントするには、次の基本構文を使用できます。
SubCountRows ()
Range(" E2 ") = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub
この特定の例では、列 A の行数をカウントし、その結果をセルE2に割り当てます。
メッセージ ボックスの行数を表示したい場合は、次の構文を使用できます。
SubCountRows ()
'Create variable to store number of rows
Dim row_count As Integer
'Calculate number of rows in range
row_count = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
'Display the result
MsgBox " Rows in Column A: " & row_count
End Sub
次の例は、3 つの異なるチームのバスケットボール選手の名前を含む Excel の次のデータ セットを使用して、これらの各メソッドを実際に使用する方法を示しています。
例 1: VBA を使用して範囲内の行をカウントし、結果をセルに表示する
列 A の行数を計算し、その結果を特定のセルに表示するとします。
これを行うには、次のマクロを作成できます。
SubCountRows ()
Range(" E2 ") = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
End Sub
このマクロを実行すると、次の出力が表示されます。
セルE2に値9が含まれていることに注目してください。
これは、列 A に値を含む行が 9 行あることを示しています。
例 2: VBA を使用して範囲内の行をカウントし、結果をメッセージ ボックスに表示する
代わりに、列 A の行数をカウントし、結果をメッセージ ボックスに表示したいとします。
これを行うには、次のマクロを作成できます。
SubCountRows ()
'Create variable to store number of rows
Dim row_count As Integer
'Calculate number of rows in range
row_count = Range(" A:A ").Cells.SpecialCells(xlCellTypeConstants).Count
'Display the result
MsgBox " Rows in Column A: " & row_count
End Sub
このマクロを実行すると、次の出力が表示されます。
メッセージ ボックスには、列 A に値が含まれる行が9行あることが示されます。
この例では、範囲としてA:Aを使用して、列 A 全体の行数を計算していることに注意してください。
ただし、代わりに特定の範囲内の値を含む行数を計算したい場合は、 「A2:A9」 (または興味のあるその他の範囲)を入力できます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: AVERAGEIF 関数と AVERAGEIFS 関数の書き方
VBA: SUMIF 関数と SUMIFS 関数の書き方
VBA: COUNTIF 関数と COUNTIFS 関数の書き方