オートフィルタの解除について
AutoFilterメソッドの引数を指定しなければ、オートフィルタの ON/OFF を切り替えられます。
オートフィルタを設定したとき、VisibleDropDown を Falseに設定し実行後に
ShowAllDataメソッドでデータを全表示にした場合にも実質オートフィルタが解除されます。
少し複雑になるので単純にオートフィルタをOFFにしたいときは、
AutoFilterメソッドの引数を指定しない方が簡潔に済みます。
解除の違いを確認できるサンプルコード
以下をA1セルに貼り付けてください。
| aaa |
| a |
| b |
Public Sub Sample()
'オートフィルタを設定する
Range("A1").AutoFilter Field:=1, Criteria1:="a"
'データを全て表示する
ActiveSheet.ShowAllData
'矢印を非表示にしてオートフィルタを設定する
Range("A1").AutoFilter Field:=1, Criteria1:="a", VisibleDropDown:=False
'■オートフィルタをOFFにする
Range("A1").AutoFilter
'オートフィルタをONにする
Range("A1").AutoFilter
End Sub
注意点
- 引数無しのAutoFilterメソッドを連続で実行すると、ON/OFF が交互に切り替わります。
(ONならOFFに、OFFならONに)
※ただし、絞り込み条件等は設定されません



コメント