- 締切済み
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
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- myCat
- ベストアンサー率60% (9/15)
たぶんKenKenSPさんの回答が的を射ていると思いますが 当方がVBAを始めたころの失敗談を。 Sheet1のイベントを処理しようとコードを書き実行したのですが何ら反応がありません。 1時間余りあれやこれやしてやっと解決。 原因は、Sheet1のモジュールに書かなければいけないコードを、Sheet2のモジュールに書いてました。 そんなこともあるやも知れませんので、ダメもとでちゃんと該当シートモジュールにコードを置いてあるか確認してみてください。
- KenKen_SP
- ベストアンサー率62% (785/1258)
> 内容はI8~I1000までの間のセルで If Not Application.Intersect(Target, Range("I8:I1000")) Is Nothing Then これで動かなければ「マクロが無効」になっているか Application.EnableEvents = False になってます。この場合の回復方法は、下記を実行して下さい。 Sub aaaa() Application.EnableEvents = True End Sub
- table_1969
- ベストアンサー率21% (66/302)
これでOKでは。 If Application.Intersect(Target, Range("C8:C1000")) Is Nothing Then Exit Sub Cancel = True MsgBox "変わりました"
- takase_000
- ベストアンサー率27% (52/189)
If Target.Column = 9 And Target.Row >= 8 And Target.Row <= 1000 Then MsgBox "a" End If Changeイベントに記述でいけると思います。