Excel VBAでシートにオートフィルターが設定してあるかどうか調べる方法の記録です。
下図は、Excel2016です。
< スポンサーリンク >
構文
Worksheetオブジェクト.AutoFilter
フィルターがオンの場合はオートフィルターオブジェクトを返し、オフの場合はNothingを返します。読み取り専用です。
ワークシートのオートフィルターオブジェクトを作成するには、ワークシートのセル範囲のオートフィルターを手動で有効にする、またはRangeオブジェクトのオートフィルターメソッドを使用します。
例
アクティブシートにオートフィルターが設定してある場合は「オートフィルター有」、設定していない場合は「オートフィルターなし」とメッセージで表示してみます。
Sub test()
Dim reVal As AutoFilter
Set reVal = ActiveSheet.AutoFilter
If reVal Is Nothing Then
MsgBox “オートフィルターなし”
Else
MsgBox “オートフィルター有”
End If
End Sub
設定有
設定なし
こんな記事も書いています