Excel VBA 特定セルへの入力を検知してマクロを実行する
Worksheet_Change
ワークシートのセルがユーザーまたは外部リンクにより変更されたときに発生する
シートの中にコードを書くと、シートの指定したセル範囲のRange
を引数として受け取る
Intersect
引数に渡したRange
の共通範囲を検知するメソッド
2つ以上の範囲の長方形の交差を表すRange
オブジェクトを返す
別のワークシートの1つ以上の範囲が指定されている場合は、エラーが返される
Usage
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
' 指定したセル範囲でなければ、True となり何もしない
If Intersect(Target, Range("B1:B6")) Is Nothing Then
Exit Sub
Else
MsgBox "範囲内のセルが操作されました。"
End If
End Sub
B1:B6
の範囲が操作されたら、メッセージを表示している公式ドキュメントのWorksheetイベントの例が参考になる
Reference
Worksheet.Change イベント (Excel)
Application.Intersect メソッド (Excel)