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 関数の書き方

コメントを追加する

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