2

我处于死胡同,我一直在尝试隐藏所有宏,我已经能够执行所有没有由 Private Sub 分配的短键的宏,但是每当我在分配了快捷键的宏上使用 Private 时它不起作用,实际上它禁用了快捷键

我努力了

Private Sub Workbook_Open()
Application.OnKey "+Q", "Macro1"
End Sub

这不起作用,是的,我把它放在了 This Workbook 中.....当然,如果我将 Private 从宏中取出并运行它就可以正常工作。我已经尝试过^+Q但这也不起作用

一定有办法的,不是吗?

4

1 回答 1

3

两件事情:

首先,如果您需要大写“Q”,那么您需要执行以下操作:

Application.OnKey "^+Q", "Macro1"

此外,无需将宏设为私有即可将它们从功能区/宏菜单中隐藏。这是我使用的解决方法:

如果任何宏/子程序至少需要一个参数,它将被“隐藏”(不显示在功能区/菜单的宏列表中)。因此,一种解决方法是为每个子例程添加一个可选的、无意义的参数,然后您可以将它们保留为公共子程序。

例子:

Sub Macro1(Optional dummy)
    MsgBox "Hi!"
End Sub

上述宏不应出现在可用宏列表中,但仍应与您的热键一起使用。

于 2013-11-27T14:57:59.313 回答