我想在用户单击Excel工作表中的单元格后显示一个对话框。类似这样的东西:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "a cell was clicked!", vbOKOnly, "a click"
End Sub
它非常好用。问题是,在打开双击编辑模式并期望输入公式之后。如何禁用此行为?
我希望实现纯粹的功能:~用户单击单元格~出现一个对话框~用户关闭对话框~单元格未进入编辑模式,工作表与双击事件前完全相同。
您必须使用参数中给定的变量取消操作
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
下面是一个伪示例:
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
请注意,您不必将Cancel
设置为False
,因为它是默认值(这是用于示例目的)。