HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > 特定のセルをダブルクリックしたらメッセージボックスを表示する

特定のセルをダブルクリックしたらメッセージボックスを表示する|Excel VBA

セル操作関連のテクニック

特定のセルをダブルクリックしたらメッセージボックスを表示する

(Excel 2000/2002/2003/2007/2010)

ワークシートをダブルクリックしたときに発生するBeforeDoubleClickイベントを使って、ダブルクリックされたセルが特定のセル範囲内にあるかどうかを判定します。

引数Targetには、ダブルクリックしたときにマウスポインタに最も近いセルが渡されます。
次のサンプルではTargetの行番号や列番号を判断し、ImEmpty関数でセルが空白かどうかを判断してメッセージボックスを表示します。

●サンプル1●

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が指定したセル範囲にあるかどうかを判断し、範囲内にあったらメッセージボックスを表示します。

●サンプル2●

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