構文
構文は以下の通りです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' 実行したいコードをここに記述する
End Sub
' 実行したいコードをここに記述する
End Sub
解説
Worksheet_SelectionChangeイベントプロシージャは、シート上でセルの選択範囲が変更されたときに実行されるコードを記述するために使用されます。例えば、特定のセルに数値を入力すると、その数値に応じて自動的に色を変更する必要があるとします。この場合、数値の範囲を監視し、色の変更処理を実装することができます。引数は以下の内容となります。
引数 | 内容 |
Target | このイベントが発生した際に選択されたセルや範囲を表すRangeオブジェクトとなります。 |
プログラミング例
以下に、具体的なプログラミング例を示します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
If IsNumeric(Target.Value) Then
If Target.Value > 10 Then
Target.Interior.Color = RGB(255, 0, 0) ' 赤色に変更
Else
Target.Interior.Color = RGB(0, 255, 0) ' 緑色に変更
End If
End If
End If
End Sub
If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
If IsNumeric(Target.Value) Then
If Target.Value > 10 Then
Target.Interior.Color = RGB(255, 0, 0) ' 赤色に変更
Else
Target.Interior.Color = RGB(0, 255, 0) ' 緑色に変更
End If
End If
End If
End Sub
この例では、セルの選択範囲がA1からB10の範囲内である場合に、選択したセルの値が数値であるかどうかをチェックします。もし数値であれば、その値が10より大きい場合はセルの背景色を赤色に、10以下の場合は緑色に変更します。これにより、数値の入力に応じてセルの色を自動的に変更する処理が実現されます。
まとめ
Worksheet_SelectionChangeイベントプロシージャは、セルの選択範囲が変更されたときに実行されるコードを記述するために使用されます。セルの選択範囲に応じて特定の処理を自動化したい場合に便利です。是非活用してください。