• 締切済み

Worksheet_changeイベント

Worksheet_Changeのイベントに下記のような処理を書きました。 内容はI8~I1000までの間のセルで、入力された、変更された場合に、ある処 理(例ではメッセージにしています)をするということをしたいのですが、セ ルの値を変えても全くうごきません。 どこか記述がおかしいでしょうか。 よろしくお願いします。 '◆◆C列にデータ入力(変更された)ときの処理◆◆ If Not Application.Intersect(Target, Range("c8:c1000")) Is Nothing The n MsgBox "変わりました" Else Exit Sub End If

みんなの回答

  • myCat
  • ベストアンサー率60% (9/15)
回答No.4

たぶんKenKenSPさんの回答が的を射ていると思いますが 当方がVBAを始めたころの失敗談を。 Sheet1のイベントを処理しようとコードを書き実行したのですが何ら反応がありません。 1時間余りあれやこれやしてやっと解決。 原因は、Sheet1のモジュールに書かなければいけないコードを、Sheet2のモジュールに書いてました。 そんなこともあるやも知れませんので、ダメもとでちゃんと該当シートモジュールにコードを置いてあるか確認してみてください。  

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

> 内容はI8~I1000までの間のセルで If Not Application.Intersect(Target, Range("I8:I1000")) Is Nothing Then これで動かなければ「マクロが無効」になっているか Application.EnableEvents = False になってます。この場合の回復方法は、下記を実行して下さい。 Sub aaaa()   Application.EnableEvents = True End Sub

回答No.2

これでOKでは。 If Application.Intersect(Target, Range("C8:C1000")) Is Nothing Then Exit Sub Cancel = True MsgBox "変わりました"

回答No.1

If Target.Column = 9 And Target.Row >= 8 And Target.Row <= 1000 Then MsgBox "a" End If Changeイベントに記述でいけると思います。