コンテンツにスキップ

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の範囲が操作されたら、メッセージを表示している
run macro

公式ドキュメントのWorksheetイベントの例が参考になる

Reference

Worksheet.Change イベント (Excel)
Application.Intersect メソッド (Excel)