スポンサーリンク

【VBA】AutoFilterの基本構文と引数の意味を徹底解説

Excel の便利機能のひとつに オートフィルタ(AutoFilter) があります。
手作業でも簡単にフィルタリングできますが、VBA を使えば 自動で条件を指定して絞り込み が可能です。
この記事では、まず AutoFilter の基本構文と引数の意味 をわかりやすく解説します。


スポンサーリンク

1. AutoFilter の基本構文

VBA でフィルタをかける基本的な書き方は次の通りです。

Range("A1").AutoFilter Field:=列番号, Criteria1:=条件

解説:

  • Range("A1") → フィルタを適用する範囲(通常は見出しセルを含む範囲を指定)
  • .AutoFilter → フィルタを実行するメソッド
  • Field → 何列目に条件をかけるか指定
  • Criteria1 → フィルタ条件

スポンサーリンク

2. 具体例:B列に「東京」のみを表示

Sub Sample_AutoFilter()
    'A1:D1 の見出しに対してフィルタを設定
    Range("A1:D1").AutoFilter _
        Field:=2, Criteria1:="東京"
End Sub

実行結果:

  • B列(2列目)のデータを対象に
  • 「東京」と一致する行だけを表示

👉 ここでのポイントは 「見出し行を含む範囲を指定」 することです。見出しがないと正しく動きません。


スポンサーリンク

3. AutoFilter の主な引数

AutoFilter メソッドには、便利なオプションがいくつかあります。

(1) Field

  • フィルタをかける列番号(数値で指定)
  • 範囲の左端を「1」として数えます

例:
Field:=3 → 指定範囲の3列目(見出し基準で数える)


(2) Criteria1

  • フィルタ条件を指定
  • 文字列(”東京”)、数値(”>=100″)、ワイルドカード(”A*”)などが使えます

例:

  • Criteria1:="大阪" → 「大阪」と一致
  • Criteria1:=">=100" → 100以上の数値

(3) Operator

  • 複数条件を指定するときに使用
  • xlAnd → 両方の条件を満たす(AND条件)
  • xlOr → どちらかを満たす(OR条件)

(4) Criteria2

  • 2つ目の条件を指定する場合に使用

例:
Criteria1:=">=100", Operator:=xlAnd, Criteria2:="<=200"

👉 「100以上かつ200以下」を抽出できます。


スポンサーリンク

4. AutoFilter の注意点

  • 必ず見出し行を含めて範囲指定する
  • フィルタは「ワークシートに表示中のデータ」を対象にする
  • すでにフィルタがかかっている状態で再実行すると、条件が上書きされる

5. まとめ

  • AutoFilter は Field(列番号) と Criteria1(条件) が基本
  • Operator や Criteria2 を組み合わせると複雑な条件指定も可能
  • 実務で多用するので、構文と引数の意味をしっかり理解しておくことが大切

コメント

タイトルとURLをコピーしました