如何为多个VBA宏分配键盘快捷键

时间:2018-08-16 10:23:13

标签: excel vba excel-vba

我目前有大约10个宏的列表,每个宏都有不同的作用。我基本上想将VBA代码包括在每个代码中(或作为单独的列表),这些代码具有键盘快捷键来激活每个代码。

我知道您可以在选项中创建宏时指定快捷方式,但是一旦将宏另存为加载项并关闭了文件,便无法再更改快捷方式。

我也尝试过application.onkey函数,但这似乎只对1个宏有效,我看不到如何添加到列表中。

希望这是有道理的,但请在需要时进行澄清

谢谢

托马斯

这是我用于唯一起作用的Application.OnKey的代码:

Sub Workbook_Open()

Application.OnKey "^+{\}", "IF_Error_Wrap"

End Sub

Sub Workbook_BeforeClose()

??????

End Sub

1 个答案:

答案 0 :(得分:0)

您需要为每个分配重复OnKey行,并确保使用BeforeClose关闭文件时清除快捷方式,如下所示:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^+{\}"
End Sub

如果是外接程序,则可以选择使用Workbook_AddinUninstall()事件清除键。