• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのPrivate Sub Worksheet_Change)

エクセルのPrivate Sub Worksheet_Changeの動作について

このQ&Aのポイント
  • エクセルのPrivate Sub Worksheet_Changeを利用してセルの変更を検知し、特定のマクロを実行したい場合、エクセルの動作とは異なる動きとなります。
  • セルB5に入力しエンターキーを押すと、一部のセルの値が変化し、その後印刷ボタンを押すと別のセルの値が変化します。
  • このような場合、セルB5の入力後にエンターキーで確定して上記のマクロを起動することはできません。

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

  • ベストアンサー
回答No.1

application.EnableEvents = False 処理 application.EnableEvents = True ちゃんと上記の様にしていますか? EnableEvents入れてなかったらシート1の値変えた時点で 再度Changeイベントが頭から始まりますよ。 処理中にエラーになるとEnableEventsがFalseのままになり イベントが発生しなくなるのでOn error gotoとか書いた方がいいですよ。 あとデバッグは覚えた方が良いと思います。

gx9wx
質問者

お礼

>application.EnableEvents = False >処理 >application.EnableEvents = True 組み込みましたが、うまくいきませんでした。 デバックモードでもループを確認できました。 またセルB5への入力は自動入力でした。 エンターは押しません。 入力されるとエンターなしで確定です。 (バーコードスキャナ) 発想を変えてB5のセルの値が5ケタ以上になったら このマクロを起動で解決しました。 Changeイベント Call マクロ。

関連するQ&A

専門家に質問してみよう