• ベストアンサー

ExcelVBAでのオートフィルタの設定

マクロ自動記録でオートフィルタの設定・解除を行うと次のようになりました。 設定の場合 Range("A1:E10").Select ' "A1:E10"は範囲の例  Selection.AutoFilter 解除の場合 Selection.AutoFilter セル範囲を選択してSelection.AutoFilterとするだけのようですが、明確に設定・解除の指定方法はないのでしょうか。

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

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.1

Selection.AutoFilter はトグル動作です 設定されている場合は解除し解除状態の時は設定されます。 現在のAutoFilterの状態を知るには ActiveSheet.AutoFilterMode で知ることができます、設定されている場合はTrue 解除されている場合はFalseを返します。 例1:設定されている場合は解除する If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter End If 例2:解除されている場合は範囲"A1:E10"に設定する If ActiveSheet.AutoFilterMode = False Then Range("A1:E10").Select Selection.AutoFilter End If

Hirorin_20
質問者

お礼

ありがとうございました。

関連するQ&A