• ベストアンサー

エクセルのマクロ オートフィルタの命令文

いつもお世話になります。 マクロでオートフィルタを設定したい時に、式が "Selection.AutoFilter" となっているのですが、この式だと、マクロを実行する前に予めオートフィルタが設定されていた場合に、「オートフィルタの設定を外す」という意味になってしまって、マクロがうまく実行されません。 「オートフィルタをつける」(または外す)という命令文を作るのは可能なのでしょうか?

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.1

こんにちわ、こうしたら如何ですか。 If Sheets("Sheet3").AutoFilterMode Then Selection.AutoFilter でわ

7-samurai
質問者

お礼

素晴らしいです。AutoFilterModeという言葉すら知らなかった私では一生かかってもたどりつけなかったことでしょう。 ありがとうございました。

その他の回答 (1)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

MsgBox (ActiveSheet.AutoFilterMode) これで現在AutoFilterがオン(TRUE)かなのかオフ(OFF)なのか判別ができます。これで条件判別しても良いですし、さいしょに有無を言わさず ActiveSheet.AutoFilterMode=False とオフにしてからAutoFilterの設定を行うという手もありますが。 まぁヘルプの「AutoFilter オブジェクト」のところに実際的なサンプルが載っていますのでそちらを見た方が早いかと思います。

7-samurai
質問者

お礼

ありがとうございます。 会社のパソコンで、ヘルプ機能をインストールしていないので、そのようなものがあること自体知らなかったのですが、早速試してみます。

関連するQ&A