【问题标题】:BeforeDoubleClick macro trigger not working in excel 2010 VBABeforeDoubleClick 宏触发器在 excel 2010 VBA 中不起作用
【发布时间】:2013-08-07 11:31:30
【问题描述】:

我正在尝试使用BeforeDoubleClick 过程在 excel 2010 中触发宏。但是,它似乎不起作用。我进行了广泛的搜索,看看其他人是否遇到过同样的问题,有几个人遇到过,但我尝试了他们的解决方案,要么不适用,要么不起作用。代码非常简单,因为我已将其剥离以进行测试。我的代码有什么愚蠢的错误吗? (我是 Stack 和 VB 菜鸟,请耐心等待)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Value = "GO" Then Cancel = True
    MsgBox ("done")
End Sub

我尝试将其设置为公共子,将“Application.EnableEvents = True”放在即时窗口中。工作簿设置为启用所有宏。没有加载项正在运行。我已经浏览了 XLSTART 文件夹,它都是空的。甚至按照某人的建议创建了一个数字签名。还是和以前版本的excel有兼容性问题吗?

此外,当您在工作表中双击时,即使取消 = True,单元格也会正常打开以进行编辑。

请帮忙

【问题讨论】:

  • 它对我有用。你把上面的代码粘贴到哪里了?

标签: excel vba


【解决方案1】:

您发布的代码在输入到工作表的本地模块(例如 Sheet1)时可以正常工作。从用户体验的角度来看,您几乎没有注意到任何区别,即

    1234563 1234563放置在当前值的最后一个字母之后,因此您可以立即开始在单元格中输入内容。

话虽如此,即使在 1. 以上没有什么可以阻止您开始打字。通过按下第一个字母,您的“GO”将完全替换为您键入的单个字母 - 因此用户的差异很小并且很可能被忽略,除非您的最终代码更像是重新定位选择,为单元格着色等等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 2014-04-02
    • 2012-07-25
    • 2018-04-05
    • 2013-03-18
    相关资源
    最近更新 更多