抽出件数をカウント
オートフィルタである条件に合致したデータを抽出した後、抽出された件数を知りたい場合があります。
例えば…
「大量にある売上データから〇〇万円以上を売り上げた店舗数を調べたい」
「残業時間が〇時間以上の従業員は何人か調べたい」
といったシチュエーションはよくありますよね。
フィルタ後にSpecialCellsメソッドで可視セルのみを取得すれば、
何件のデータを抽出したのか瞬時にわかるようになります。
※このとき、SpecialCellsメソッド の 引数Type には xlCellTypeVisible を指定してください。
何件のデータを抽出したか確認できるサンプルコード
まず、以下の簡単な表をExcelのA1セルにコピーしてください。
商品名 | 個数 |
みかん | 5 |
りんご | 8 |
バナナ | 6 |
りんご | 3 |
りんご | 7 |
みかん | 9 |
バナナ | 3 |
Public Sub Sample() Dim cnt As Long '「りんご」で絞り込む Range("A1").AutoFilter Field:=1, Criteria1:="りんご" '可視セルをカウントする cnt = Range("A1").CurrentRegion.Resize(, 1).SpecialCells(xlCellTypeVisible).Count 'タイトルを省くのでマイナス1してイミディエイトに結果を表示 Debug.Print cnt - 1 & "件" End Sub
注意点
- 見出し行を省くので、1行分マイナスする必要があります。(上記はイミディエイト表示時)
- 通常のCountでは非表示分もカウントされるので、SpecialCellsを使うことをお忘れなく。
コメント