• 締切済み

VBA EnableEventsの動作

Win7 Excel2013使用 Application.EnableEventsの動作でおかしな事がおきているので 解決方法を教えて頂きたいのですが、 シートの並びかえマクロを作成し、 その中で最初と最後にApplication.EnableEventsとscreenupdating を false→処理→trueで設定しています。 マクロ実行後、別のマクロ(sheetchangeイベント)を実行しようとしたところ マクロ動作せず、状況を調べるために sub test() msgbox Application.EnableEvents msgbox Application.ScreenUpdating End sub 上記testマクロでそれぞれの状況を表示させたところ、どちらもtrueがかえってきました。 ただ、もう一度このtestマクロを実行するとApplication.EnableEventsだけfalseとなります。 シートの並びかえマクロのデバッグで検証を行いましたが、特にエラーはなく、最後のtrueまで 実行される事は確認しました。 何か考えられることはありますでしょうか?

みんなの回答

回答No.1

msgbox Application.EnableEvents msgbox Application.ScreenUpdating の2つを msgbox "EnableEvents = " & Application.EnableEvents msgbox "ScreenUpdating = " & Application.ScreenUpdating に変えて、もう一度試してみましょう。 ただ単に「True」とか「False」としか表示してないので「何か、別のMsgBoxの表示と勘違いしている」可能性があります。 なので「何がTrue/Falseなのか」をちゃんと表示してデバッグしましょう。

-antsu-
質問者

お礼

スミマセン。 質問の件、当方のコードに誤りがあることを発見しました。 自己解決することができました。 ありがとうございました。

-antsu-
質問者

補足

早速の回答ありがとうございます。 ご指摘の内容を試してみましたが、 やはりEnableEvents が False  となります…

関連するQ&A

専門家に質問してみよう