HOME > 即効テクニック > Excel VBA > その他関連のテクニック > フィルタで抽出したデータの数をカウントする

フィルタで抽出したデータの数をカウントする|Excel VBA

その他関連のテクニック

フィルタで抽出したデータの数をカウントする

(Excel 97/2000/2002/2003/2007/2010/2013)

セルA1から始まり、1行目がタイトル行になっている表があります。
マクロ「Sample」は、この表からオートフィルタで抽出したデータの数をカウントします。

Sub Sample()
        Range("A1").AutoFilter Field:=4, _
                    Criteria1:="マスター会員"  '「マスター会員」を抽出
                    
        If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
            MsgBox "0件です"
        Else
            MsgBox Range(Range("A2"), Cells(Rows.Count, 1).End(xlUp)) _
                .SpecialCells(xlCellTypeVisible).Count & "件です"
        End If
End Sub

A列の最終行のセルから上方向に終端セルを探し、それがセルA1(行番号が1)だったらタイトル行のみとして、「0件です」と表示します。
終端セルがセルA1でない場合、セルA2から終端セルまでのセル範囲の中から可視セルの数をカウントして、件数を表示します。