• ベストアンサー

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がかぶっておかしくなる気がします。。 お願いします。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

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 詳細はヘルプ等で確認してください

ibichin
質問者

お礼

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

その他の回答 (1)

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

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

ibichin
質問者

お礼

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