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

解決済みの質問

Excel VBA イベントプロシージャを2つ記述する(基本です)

基本的な事なのですが、Excelのイベントプロシージャで2つプログラムを作るにはどうやって記述すればよいのでしょうか?
具体的には、worksheetのchangeイベントで、セルC5の値を変えた時と、セルG7の値を変えた時の2通りのマクロを作成したいのです。

Private Sub Worksheet_Change(ByVal Target As Range)
C5を変えた時の処理
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
G7を変えた時の処理
End Sub
このように書けばよいのでしょうか?そうするとTargetがかぶっておかしくなる気がします。。
お願いします。

投稿日時 - 2008-12-30 20:03:49

QNo.4593802

困ってます

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

IF文を使用して分岐するのが一般的だと思います

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$5" Then
msgbox "C5を変えた時の処理"
ElseIf Target.Address = "$G$7" Then
msgbox "G7を変えた時の処理"
End If
End Sub

詳細はヘルプ等で確認してください

投稿日時 - 2008-12-30 21:03:51

お礼

よくわかりました。
ありがとうございました。

投稿日時 - 2009-01-01 12:47:45

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

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

回答(2)

ANo.1

同じイベントの中でRangeがくるのだからそこを見て処理を分ければいいと思います。

投稿日時 - 2008-12-30 20:09:08

お礼

よくわかりました。
ありがとうございました。

投稿日時 - 2009-01-01 12:48:11

あなたにオススメの質問