我处于死胡同,我一直试图隐藏所有的宏,我已经能够做所有没有私有Sub分配的短密钥的宏,但每当我在一个拥有一个宏的宏上使用Private时快捷键分配它不起作用,实际上它禁用了快捷键
我试过了
Private Sub Workbook_Open()
Application.OnKey "+Q", "Macro1"
End Sub
并且这不起作用,是的,我把它放在这个工作簿中.....当然如果我从宏中取出私有并运行它工作正常。我试过 ^ + Q ,这也不起作用
必须有办法,不存在吗?
答案 0 :(得分:3)
两件事:
首先,如果您需要大写“Q”,那么您需要这样做:
Application.OnKey "^+Q", "Macro1"
此外,没有必要使宏私有以便从功能区/宏菜单中隐藏它们。这是我使用的解决方法:
如果至少需要一个参数,任何宏/子程序都将被“隐藏”(不会显示在功能区/菜单的宏列表中)。因此,一个解决方法是为每个子例程添加一个可选的,无意义的参数,然后您可以将它们保留为公共子函数。
示例:
Sub Macro1(Optional dummy)
MsgBox "Hi!"
End Sub
上面的宏应该不出现在可用宏列表中,但它仍然适用于您的热键。