AdvancedFilterメソッド
AdvancedFilterメソッドはワークシートに記述した条件を元に一致したデータをその場で抽出するかコピーすることができます。
構文
1 |
Range.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique) |
Action | その場で抽出する場合はxlFilterInPlace、CopyToRangeでしたい下範囲にコピーしたい場合はxlFilterCopyを指定する。 |
---|---|
CriteriaRange | 抽出条件範囲のセル範囲を指定する。 |
CopyToRange | ActionでxlFilterCopyを指定した場合にコピー先のセル範囲を指定する。 |
Unique | Trueを指定すると重複データは抽出されない。Falseを指定すると重複データも抽出される。 |
AdvancedFilter実行前
セル範囲A2からI4が抽出条件で、6行目以降が賃貸物件情報をまとめたテーブルになっています。
このテーブルから、沿線列が山手線でなおかつ徒歩(分)列が10分未満、もしくは沿線列が銀座線でなおかつ賃料(円)が100000未満のデータの抽出をします。
実行例
1 |
Range("A6").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A2").CurrentRegion |
AdvancedFilter実行後
セルの条件を変更すればプログラムを変更せずに抽出条件を変えて抽出できるのが特徴になります。
セル範囲A2からI4の条件を色々変更して試してみてください。