【AdvancedFilter】テーブルからデータ抽出

テーブルから条件を指定して抽出する

Worksheets("").Range("").AdvancedFilter _'テーブルを指定
Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("").Range(""), _'抽出条件がある範囲を指定
CopyToRange:=Worksheets("").Range(""), _'抽出先を指定
Unique:=False
End Sub
Action
必須
xlFilterCopy
(値は2)
リスト範囲とは他の場所に抽出データをコピーします
xlFilterInPlace
(値は1)
リスト範囲内にデータを抽出します
CriteriaRange
(省略可能)
Variant型の値を使用する 検索条件範囲を指定します。
省略すると、検索条件なしで抽出されます。
CopyToRange
(省略可能)
Variant型の値を使用する 引数 ActionがxlFilterCopyのときは、抽出された行のコピー先のセル範囲を指定します。
それ以外の場合、この引数は無視されます。
Unique
(省略可能)
True 検索条件に一致するレコードのうち、重複するレコードは無視されます。
FALSE 重複するレコードも含めて、検索条件に一致するレコードがすべて抽出されます。

 ・複数条件の指定方法

 横に並べるとand、縦に並べるとor になる

フィールド1 フィールド1 フィールド2
abc def ghi
123 456 789

この場合、or(and(フィールド1=abc,フィールド1=def,フィールド2=ghi),and(フィールド1=123,フィールド1=456,フィールド2=789))

が抽出される

Excel(エクセル)VBA入門:フィルタオプション(AdvancedFilter)でのデータ抽出