• ベストアンサー

エクセルのマクロの質問です。

オートフィルタを使ってデータを検索しているのですが、ファイルを閉じる時には自動的に「全て表示」にして閉じたいと思います。 試しに下記のマクロで実行してみたのですが、 Sub Auto_Close() ActiveSheet.ShowAllData End Sub フィルタで検索していれば自動的に「全て表示」になって問題なく閉じる事ができるのですが、最初から「全て表示」になっていると失敗し(当然ですよね)下記のエラーメッセージが出ます。 実行時エラー'1004': worksheetクラスのshowAllDataメソッドが失敗しました。 そこで、「全て表示」になっている時はそのまま閉じるを追加してマクロを完成させたいのですが、どうすればいいのでしょうか? 教えて下さい。お願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

'FilterMode プロパティをがtrue ならば、フィルタが掛かっています。 With ActiveSheet If .FilterMode Then .ShowAllData End If End With

majalis3113
質問者

お礼

早々のご回答ありがとうござました。 うまくいきました。ありがとうございました。

その他の回答 (1)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

Sub Auto_Close() On Error Resume Next ActiveSheet.ShowAllData End Sub ではどうでしょうか?

majalis3113
質問者

お礼

早々のご回答有難うございました。 早速試してみたところ、上手くいきました。有難うございました。