●概要●
Intersectメソッドと、ワークシートのChangeイベントを組み合わせることで、特定のセル範囲が変更されたときのみ処理を実行することができます。Intersectメソッドは、引数に指定したRangeオブジェクトへの参照の共通部分への参照を返します。共通部分が無い場合、Nothingを返します。
また、ワークシートのChangeイベントは、引数Targetに変更されたセル範囲を表すRangeオブジェクトの参照が渡されます。これらを利用して特定のセル範囲が変更されたときのみ処理を実行するマクロを作成することができます。
構文 Intersect(Args1, Args2,[Args3]・・・・[Args30])
設定項目 内容
Args Rangeオブジェクトへの参照
次のサンプルは、値を変更したセルがセルA1〜B5に含まれる場合、メッセージボックスを表示し、そうでない場合は何もしません。
●サンプル●
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:B5")) Is Nothing Then
Exit Sub
Else
MsgBox "セルの値が変更されました"
End If
End Sub