Excelでデータを扱うとき、次のようなことはありませんか?
- 特定の条件でデータを絞り込みたい
- 毎回フィルター設定するのが面倒
- マクロで自動的に抽出したい
このような場合は、VBAでオートフィルターを設定することで解決できます。
条件付きでデータを自動抽出できるので、集計や分析の効率が大幅に向上します。
この記事でできること
- オートフィルターをVBAで設定できる
- 特定条件でデータを抽出できる
- 複数条件で絞り込みできる
- 実務で使えるコードが分かる
基本:オートフィルターを設定するコード
まずはフィルターを設定する基本コードです。
Option Explicit
Sub SetAutoFilter()
Range("A1").AutoFilter
End Sub
これでA1セルを基準にフィルター(▼)が表示されます。
条件を指定して絞り込む方法
例えば、「B列が”完了”のデータだけ表示」する場合はこちらです。
Option Explicit
Sub FilterByValue()
Range("A1").AutoFilter Field:=2, Criteria1:="完了"
End Sub
- Field:=2 → B列
- Criteria1 → 条件
複数条件で絞り込む(OR条件)
「完了」または「進行中」を表示する場合です。
Option Explicit
Sub FilterMultiple_OR()
Range("A1").AutoFilter Field:=2, _
Criteria1:=Array("完了", "進行中"), _
Operator:=xlFilterValues
End Sub
複数条件で絞り込む(AND条件)
数値条件などで使います。
Option Explicit
Sub FilterMultiple_AND()
Range("A1").AutoFilter Field:=2, _
Criteria1:=">=100", _
Operator:=xlAnd, _
Criteria2:="<=200"
End Sub

コメント