12日目 オートフィルターを勉強したけど…

今日はAutoFilterとAdvancedFilterを勉強した。

 

この2つはRangeオブジェクトのメソッドなので、「Range.オートフィルター 引数」という使い方だ。

時間をかけて勉強したけど、ページの中にリンクが沢山あってそれらのページを見ていたら時間がかかってしまった。


基本以下の3つがある↓

1.RangeオブジェクトのAutoFilterメソッド
2.ワークシートのAutoFilterModeプロパティ
3.AutoFilterオブジェクト


まず1.から。
ActiveSheet.Range("A1").AutoFilter field:=1, Criteria1:="10", Operator:=xlFilterValues
ActiveSheet.Columns("A:B").AutoFilter field:=1, Criteria1:="10", Operator:=xlFilterValues


基本オートフィルターで絞り込みたい時につかう。
注意点は「RangeオブジェクトのAutoFilterメソッド」なので、シートに対してオートフィルターを設定する訳ではない。


「ActiveSheet.Range("A1").AutoFilter」だったら、A1セルのアクティブセル領域に対してオートフィルターで絞り込む。
「ActiveSheet.Columns("A:B").AutoFilter」も、A列とB列に対してオートフィルターで絞り込む。


次に2.。
こちらは「ワークシートのAutoFilterModeプロパティ」なので、ワークシートが対象となる。
「ActiveSheet.AutoFilterMode = False」でオートフィルターを解除可能。


「ActiveSheet.AutoFilterMode = True」で、設定しようとするとなんか上手くいかない。。
なら範囲指定して「ActiveSheet.Range("A1:E11").AutoFilter」の方が良い気がする。


次に3.。
サンプルコードが1つしか無かったので、その使い方しか今の所分かっていない。

 
その他のAutoFilterオブジェクトのプロパティも、色々実験して使っていけば覚えられるんだろうか?
それ以前にオートフィルターを使う機会が無いから、積極的に使っていって慣れた方が良いかもしれない。