双击已处理事件后退出/禁用编辑模式



我想在用户单击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,因为它是默认值(这是用于示例目的)。

最新更新