AutoFilterメソッド
Excelのオートフィルターを実行したいときは、AutoFilterメソッドを使用します。
指定した値を自動で絞り込む機能ですね。
手動では困難なループ処理や、データの一括操作ができるので高速処理が可能です。
構文
Object.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)
| Object | Rangeオブジェクトを表す変数です。 |
| Field | フィルターの対象となる列番号を指定します(左端が1)。 |
| Criteria1 | 抽出する条件です。 空白のフィールドを検索するには “=”、空白以外のフィールドを検索するには “<>”、 データ型のフィールドを選択するには “><“を指定します。 |
| Operator | フィルターの種類を XlAutoFilterOperator の定数で指定します。 |
| Criteria2 | 2番目の抽出条件となる文字列を指定します。 Criteria1 および Operator と組み合わせて使い、複合抽出条件が可能です。 |
| SubField | 抽出条件を適用するデータ型のフィールドです。 省略すると、”(表示値)” が対象になります。 |
| VisibleDropDown | False を指定すると、オートフィルターのドロップダウン矢印を非表示にします。 既定値は True です。 |
| XlAutoFilterOperator定数 | ||
|---|---|---|
| xlAnd | 1 | Criteria1 と Criteria2 の論理 AND |
| xlBottom10Items | 4 | 表示される最も小さい値の項目 (Criteria1 で指定された項目の数) |
| xlBottom10Percent | 6 | 表示される最も小さい値の項目 (Criteria1 で指定された割合) |
| xlFilterCellColor | 8 | セルの色 |
| xlFilterDynamic | 11 | 動的フィルター |
| xlFilterFontColor | 9 | フォントの色 |
| xlFilterIcon | 10 | フィルター アイコン |
| xlFilterValues | 7 | フィルターの値 |
| xlOr | 2 | Criteria1 または Criteria2 の論理 OR |
| xlTop10Items | 3 | 表示される最大値の項目 (Criteria1 で指定された項目の数) |
| xlTop10Percent | 5 | 表示される最大値の項目 (Criteria1 で指定された割合) |
サンプルコード
Public Sub Sample()
'A1セル(タイトル)から始まる表の、1列目、「商品A」をフィルターにかける。
Range("A1").AutoFilter Field:=1, Criteria1:="商品A", Operator:=xlFilterValues
'「A」を含む文字列を絞り込む。
Range("A1").AutoFilter Field:=1, Criteria1:="*A*", Operator:=xlFilterValues
'オートフィルターを解除する
Range("A1").AutoFilter
End Sub
注意点
- 上記のように、ある特定の文字を含む文字列を絞り込む場合は「*」(アスタリスク)で囲む必要があります。
- フィルターを解除するときは、引数を指定しません。



コメント