関数・メソッド

オートフィルターを使用する【AutoFilterメソッド】【ExcelVBA】

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

 

注意点

  • 上記のように、ある特定の文字を含む文字列を絞り込む場合は「*」(アスタリスク)で囲む必要があります。
  • フィルターを解除するときは、引数を指定しません。

 

関連記事

コメント