こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel2007 VBで

下記のマクロ作成して実際にセルにA、あるいは何かデータを入力しても下記イベント?が発生している気配がありません。
Application.EnableEvents = Falseの行がなにか問題なのでしょうか。実プログラムは If Target.Value = "A" Or Target.Value = "A" Thenの他にB、C、計算も含んでいるのですがApplication.EnableEvents = TrueはEnd Subの前行に入れてあります。
他に設定することがあるのでしょうか。どなたか教えてください。

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub '複数セルの入力は無視
Application.EnableEvents = False '割込み停止
’[B3] = 123
’Stop
If Target.Value = "A" Or Target.Value = "A" Then
Target.Value = "A"
End If

Application.EnableEvents = True '割込み再開

End Sub

excel2007 VB6.5です。

投稿日時 - 2011-09-07 03:43:16

QNo.6994699

すぐに回答ほしいです

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

こんばんは。

提示のコードはきちんと動きます。

ですが、Application.EnableEvents = Falseの後でエラーが起こった時に、デバッグせず終了にしたり、デバッグしてもコードを継続させないとApplication.EnableEvents = Trueが実行されないので、以降イベントが発生しなくなります。

Application.EnableEvents = Trueを実行すれば直ります。

投稿日時 - 2011-09-07 18:27:27

お礼

早々の回答、ありがとうございました。
理解できました。

投稿日時 - 2011-09-09 04:06:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問