今回はAutoFilterメソッドでオートフィルタの設定や絞り込みの状況を取得する方法をご説明します。
VBAで操作する際に、予め設定されているオートフィルタの状況を取得して操作します。
その他のAutoFilterメソッドでオートフィルタの操作については次の記事をご覧ください。
- オートフィルタを設定する
- 文字列や空白、ワイルドカード、複数条件で絞り込み
- 複数列で条件を指定して絞り込み
- 数値で絞り込み
- 日付で絞り込み
- 色で絞り込み
- オートフィルタの解除とクリア
- オートフィルタで絞り込みしたデータをコピーする
- オートフィルタで文字列と数値の絞り込み条件を取得する
1.オートフィルタの設定状況を取得する
オートフィルタが設定されているかどうかを取得する方法です。
オートフィルタの設定はWorksheetオブジェクトの「AutoFilterModeプロパティ」で取得出来ます。
設定されている場合は「True」を、設定されていなければ「False」を返します。
Sub Sample1()
If ActiveSheet.AutoFilterMode = True Then
MsgBox "設定されています"
Else
MsgBox "設定されていません"
End If
End Sub
2.オートフィルタの絞り込み状況を取得する
オートフィルタが設定されていて、絞り込みがされているかを取得します。
絞り込み状況を取得するにはAutoFilterオブジェクトの「FilterModeプロパティ」を使用します。
Sub Sample2()
With ActiveSheet
If .AutoFilterMode = True Then
If .AutoFilter.FilterMode = True Then
MsgBox "絞り込みされています"
Else
MsgBox "絞り込みされていません"
End If
End If
End With
End Sub