• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Workbook_BeforeClose イベントで)

ExcelVBAのブックを閉じる時のイベントでオートフィルタの解除と再設定するコードが動作しない

このQ&Aのポイント
  • ExcelVBAのブックを閉じる時のイベントで、オートフィルタの解除と再設定を行うコードを記述していますが、再設定がされない問題が発生しています。
  • 上記のコードを実行すると、ファイルを開いてみるとオートフィルタの解除だけがされており、再設定がされていないことが確認されました。
  • 同様のコードを標準モジュールに記述して実行しても、同じ結果が得られました。解決法をお知りの方は教えてください。

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.1

Workbook_BeforeClose内でActiveWorkbook.Close するとその時点でWorkbook_BeforeCloseに飛びます。 適当にブレークポイントで止めてステップ実行するとわかります。 と言う訳で、 ActiveWorkbook.Close SaveChanges:=True をやめて ActiveWorkbook.Save にする。 ただし同名の警告が出るので Application.DisplayAlerts = False ActiveWorkbook.Save Application.DisplayAlerts = True にする。

urban-hon
質問者

お礼

お礼が遅くなり申し訳ございません。 体調を崩し、臥せっておりました。 ご指摘の通りステップ実行した際にWorkbook_BeforeCloseに飛んでおりまして疑問に思っておりましたが、解決法がわからずにおりました。 おかげさまで無事希望通りの動きができました。 また解決できないことが出てきましたらよろしくお願いいたします。 ありがとうございました。