「autofilter vba 名前付き引数」
という検索キーワードでアクセスがあることに気付きました。
AutoFilterプロパティとAutoFilterメソッドはまったく違う
オブジェクトブラウザーで、右クリックして表示されるショートカットメニューで[完全に一致する単語だけを検索]オプションをOnにしてから、「autofilter」を完全一致検索すると、
上図のとおりAutoFilterオブジェクトが存在していること、ListObjectオブジェクトとWorksheetオブジェクトにAutoFilterプロパティ、RangeオブジェクトにAutoFilterメソッドがそれぞれ用意されていることがわかります。
このうち、ListObjectオブジェクトのAutoFilterとWorksheetオブジェクトのAutoFilterは、引数を指定するようには作られていないプロパティです。
RangeオブジェクトのAutoFilterメソッドだけが、引数を指定できます。
「autofilter vba 名前付き引数」
と検索なさった方が、このことをどれくらい理解できていたのか不明ですけれど、Range.AutoFilterメソッドについてはご存知で、ListObject.AutoFilterプロパティやWorksheet.AutoFilterプロパティでも、同じように引数を指定できると思い込んでしまっている可能性を危惧しています。
まったく同じAutoFilterという名前ですけれど、引数を指定できるのは、RangeオブジェクトのAutoFilterメソッドだけです。
ちなみに、ListObject.AutoFilterプロパティとWorksheet.AutoFilterプロパティは、拙著『いちばんやさしいExcel VBAの教本』のLesson 52「プロパティは2種類あることを知っておきましょう」でお伝えしている、オブジェクトを取得するためのプロパティに該当します。
Range.AutoFilterメソッドの引数名
で、RangeオブジェクトのAutoFilterメソッドには、オブジェクトブラウザーの詳細ペイン等を確認すればわかるとおり、
Field
Criteria1
Operator
Criteria2
VisibleDropDown
という名前の引数を指定できます。
Home » Excel VBA Rangeオブジェクト » AutoFilterの名前付き引数