AdvancedFilter メソッド
ワークシート上に記述した抽出条件を元にデータを抽出します。
【書式】
object.AdvancedFilter( action [, criteriarange, copytorange, unique ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- action ・・・ 抽出先を XlFilterAction 列挙型 の定数を使って指定します(省略不可)。
定数 値 内容 xlFilterInPlace 1 その場で抽出する xlFilterCopy 2 引数 copytorange で指定したセル範囲に、抽出結果をコピーする - criteriarange ・・・ 抽出条件範囲を指定します。省略すると抽出条件なしとみなされます。
- copytorange ・・・ 引数 action に、xlFilterCopy を指定した場合のみ有効となり、抽出先のセル範囲指定します(省略可)。
- unique ・・・ True を指定すると重複したデータは抽出されず、False または、省略すると重複したデータも抽出されます。
抽出条件の指定
条件を複数指定する場合、AND 条件の場合は、同一行に条件式を記述し、OR 条件の場合は、異なる行に条件式を記述します。
AdvancedFilter メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub Sample_AdvancedFilter() 'データの抽出 Range("B8").CurrentRegion.AdvancedFilter _ Action:=xlFilterInPlace, _ CriteriaRange:=Range("B2").CurrentRegion End Sub Sub Sample_ShowAllData() 'すべてのデータを表示 If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData End If End Sub |
実行結果
Sub Sample_AdvancedFilter() 実行前
Sub Sample_AdvancedFilter() 実行後