データの抽出(AdvancedFilter メソッド)
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() 実行後
関連記事
-
ListObject のプロパティ(ShowTotals プロパティ)
ShowTotals プロパティ テーブル(リスト)の集計行の表示、非表示を設定 …
-
リスト・テーブルの行(ListRows, ListRow)
ListRows プロパティ ListRows コレクションは、テーブル・リスト …
-
リスト・テーブル(ListObjects オブジェクト)
リスト・テーブル(ListObjects オブジェクト) ワークシート内のすべて …
-
リスト・テーブルの列(ListColumns, ListColumn)
ListColumns プロパティ ListColumns コレクションは、テー …
-
ListObject のプロパティ(Range、HeaderRowRange、DataBodyRange)
ListObject オブジェクトのプロパティ(Range プロパティ、Head …
-
フィルタ解除して全データを表示(ShowAllData メソッド)
ShowAllData メソッド AdvancedFilter メソッド や A …
-
リスト・テーブル(ListObject オブジェクト)
リスト・テーブル(ListObject オブジェクト)を取得 【書式】 obje …
-
リスト・テーブルの並べ替え(Sort オブジェクト,Sort プロパティ)
リスト・テーブルを並べ替える テーブル(リスト)を並べ替えるには、Sort メソ …