抽出件数をカウント
オートフィルタである条件に合致したデータを抽出した後、抽出された件数を知りたい場合があります。
例えば…
「大量にある売上データから〇〇万円以上を売り上げた店舗数を調べたい」
「残業時間が〇時間以上の従業員は何人か調べたい」
といったシチュエーションはよくありますよね。
フィルタ後に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を使うことをお忘れなく。



コメント