• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロでフィルタを判別するマクロ)

エクセルのマクロでフィルタを判別する方法

このQ&Aのポイント
  • エクセル2000で使用されるオートフィルタを判別するマクロの記述方法を教えてください。
  • 特定のフィルタが適用されている場合と適用されていない場合で、マクロの動作を切り替える方法を教えてください。
  • マクロを使用して、フィルタが適用されていない場合に特定の操作を実行する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 こんな感じかと。。 Sub Sample()      Dim AF As AutoFilter   On Error Resume Next   Set AF = ActiveSheet.AutoFilter   If Not AF Is Nothing Then     If AF.Filters(1).On = True Then       MsgBox "一番左側のフィルタがONです"     Else       MsgBox "一番左側のフィルタがOFFです"       AF.Range.AutoFilter Field:=1, _                 Criteria1:="<>#N/A", _                 Operator:=xlAnd     End If   Else     MsgBox "AutoFilter がない"   End If   Set AF = Nothing End Sub

oresama
質問者

お礼

おおおぉ! 完璧です。 助かりました。 本当にありがとうございます☆

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

VBAでは、該当シートにフィルタ設定が設定されいるかどうかのチェックしか出来ませんので、フィルタの個々の設定状態を取得する事も出来ません。 従って、常に「フィルタ解除」「フィルタ設定」の手順を踏む事になります。 Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=1, Criteria1:="<>#N/A", Operator:=xlAn

関連するQ&A