AutoFilter

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

AutoFilter

 

設定有

AutoFilter

 

設定なし

AutoFilter

 

< スポンサーリンク >