分配一个快捷键并隐藏macros

我在一个死胡同里,我一直在试图隐藏所有的macros,我已经能够做所有没有一个私人小组分配一个简短的密钥的macros,但是每当我使用一个指定了快捷键的macros上的私人它不起作用,实际上,它禁用了快捷键

我努力了

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

这是行不通的,是的,我把它放在这个工作簿…..当然,如果我把私人出macros并运行正常。 我已经尝试^ + Q ,这也不起作用

必须有一个方法,不是吗?

两件事情:

首先,如果你需要大写“Q”,那么你需要做的是:

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

另外,为了将这些macros隐藏在function区/macros菜单中,没有必要使这些macros变为私有的 。 这是我使用的解决方法:

如果至less需要一个参数,则任何macros/子程序都将“隐藏”(不显示在function区/菜单的macros列表中)。 所以对于你来说一个解决方法就是为每个子程序添加一个可选的,毫无意义的参数,然后你可以把它们作为公共子集。

例:

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

上面的macros不应该出现在可用的macros列表中,但它应该仍然与你的热键一起工作。