◆◆MS-Excel2000スキルアップ講座/VBA編◆◆

特定セル範囲だけが更新されたときにイベントを発生させる
ワークシートのイベントに「Change」というのがありますが、これを使うとワークシート上のどのセルを更新してもイベント発生してしまいます。これだと必要ないときにまでVBAが動いてしまい、うっとうしいのです。ここでは、特定のセルまたはセル範囲だけが更新されたときにだけ、イベントを発生させる方法について説明します。
方法1

Changeイベントのイベントパラメータとして渡されてくるTargetのセル範囲は値の変更があった場所です。Target.Addressをチェックして、処理を行いたい範囲以外の場合はすぐにEXIT SUBすれば、目的の動作になります。

方法2

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox 1
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Range("A1").Value = Range("A1").Value + 1
Application.EnableEvents = True
End Sub