オートフィルターモード(AutoFilterMode プロパティ)

ワークシート内にオートフィルターが設定してあるかどうか調べる場合、 AutoFilterMode プロパティを使用します。値が True であればオートフィルターが設定してあり、False であれば設定してないと判別します。

値の設定については少し特殊で False(オートフィルター解除) のみ設定が可能です。オートフィルターを設定したい場合は対象のセル範囲に対して AutoFilter メソッド を使用します。

スポンサーリンク

AutoFilterModeプロパティの使用方法

構文
object.AutoFilterMode

※objectはワークシートオブジェクトを表す変数

AutoFilterModeプロパティの使用例

オートフィルターの設定

ワークシートにオートフィルターが設定されていない場合に、セル範囲A3~F3に対してオートフィルターを設定する例です。

Sub sample_eb078_01()
    With ActiveSheet
        If Not .AutoFilterMode Then
            .Range("A3:F3").AutoFilter
        End If
    End With
End Sub

 AutoFilter メソッド Withステートメント

マクロ実行前はオートフィルタが設定されていません。

sample_eb078_01 実行前
sample_eb078_01 実行前

マクロを実行すると、A3~F3にオートフィルターが設定されました。

sample_eb078_01 実行後
sample_eb078_01 実行後

オートフィルターの解除

オートフィルターを解除するには False を設定します。

Sub sample_eb078_02()
    ActiveSheet.AutoFilterMode = False
End Sub
タイトルとURLをコピーしました