I'd like to display a dialog after a user clicks a cell in an Excel sheet. Something like this:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "a cell was clicked!", vbOKOnly, "a click"
End Sub
It works perfectly fine. The problem is, after a double click edit mode is turned on and a formula is expected to be entered. How do I disable this behaviour?
I'd like to achieve pure functionality: ~ user clicks a cell ~ a dialog appears ~ user closes the dialog ~ a cell does NOT go into edit mode, the sheet looks exactly as it did before double click event.
You have to cancel the action with the variable given in argument:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "a cell was clicked!", vbOKOnly, "a click"
'Disable standard behavior
Cancel = True
End Sub
Here is a dummy example:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim response As Variant
response = MsgBox("Are you sure you want to edit the cell?", vbYesNo, "Check")
If response = vbYes Then
Cancel = False
Else
Cancel = True
End If
End Sub
Note that you wouldn't have to set Cancel
to False
because it the default value (this is for the example purpose).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With