プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[Excel VBA] オートフィルターが有効か、実際に絞り込まれているか

マクロ実行前にユーザーによるシートの編集が行われる場合は、オートフィルターで予期しない絞込みがされていて、出力結果がおかしくなる可能性もあります。

なので、下記のようなプログラムで、オートフィルターの状態を確認しておいたほうが安全です。

オートフィルターがONになっているか(ヘッダーに▼ボタンが表示されているか)は、

If ActiveSheet.AutoFilterMode Then
     MsgBox "オートフィルターがONです。"
End If

のように書けばよいです。

さらに、実際に設定されて絞込みがされた状態かどうかを調べるには、

If ActiveSheet.AutoFilter.FilterMode Then
     MsgBox "絞り込みされています"
End If

です。

なお、FilterModeプロパティは、Excel2007以降でのみ使用可能です。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください