特定のセルをダブルクリックしたらメッセージボックスを表示する|Excel VBA |
ワークシートをダブルクリックしたときに発生するBeforeDoubleClickイベントを使って、ダブルクリックされたセルが特定のセル範囲内にあるかどうかを判定します。
引数Targetには、ダブルクリックしたときにマウスポインタに最も近いセルが渡されます。
次のサンプルではTargetの行番号や列番号を判断し、ImEmpty関数でセルが空白かどうかを判断してメッセージボックスを表示します。
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column = 1 And .Row >= 1 And .Row <= 10 Then
If IsEmpty(.Value) Then
MsgBox "セル範囲A1:A10内の空白セルがダブルクリックされました"
Cancel = True
End If
End If
End With
End Sub
次のサンプルでは、ApplicationオブジェクトのIntersectメソッドを使用し、Targetが指定したセル範囲にあるかどうかを判断し、範囲内にあったらメッセージボックスを表示します。
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
Dim MyTarget As Range
Set MyTarget = Application.Intersect(Target, Range("A1:A10"))
If Not MyTarget Is Nothing Then
MsgBox "セル範囲A1:A10内のセルがダブルクリックされました"
Cancel = True
End If
End Sub