VBAにて一度 Application.EnableEvents = False になったChangeEventの復帰の仕方。

Visual Basic | Excel152閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

あの、 ↓この質問回答でコード提示したの私なんですけど笑、 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13252802588 VBE使わない人がこのコード使ったときにエラー発生したら機能復帰できないなぁ・・と。 一応予防策でon resume next コードを追記して解決するんですけど、resume next無かったら使用者自身での復帰はExcel再起動しかなくなっちゃうなあ・・と・・・。

その他の回答(3件)

0

①イミディエイトウィンドウ先頭に Application.EnableEvents = True を書いておきそこでEnterする。 ②標準モジュールに Sub ee() Application.EnableEvents = True End Sub を書いておき イミディエイトウィンドウに ee

0

どこに いれられているのでしょうか 何のために いれられているのでしょうか Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False 通常の処理コード Application.EnableEvents = TRUE End Sub マクロが 起動した瞬間に FALSE 終了直前に TRUEで いいのでは?

回答ありがとうございます。 ご指摘頂いたコードど同様に Application.EnableEvents = False と Application.EnableEvents = TRUE で処理コードを挟んでいるのですが、処理コード内で実行時エラーが生じた場合、Application.EnableEvents = False が有効になった状態で止まってしまい、その後のChengeイベントを発生させることができなくなってるようです。 これを手動で復帰させたいのです