VBA中的Sub过程有两种,分别是公用(Public)和私有(Private),如果Sub之前省略关键字,那么该过程为公用过程。
示例文件中模块中有如下两个过程。
按<Alt+F8>组合键打开【宏】对话框,如下图所示。
在【宏】对话框中,仅显示公用过程PublicDemo
。
单击【宏】对话框中【选项】按钮,打开【宏选项】对话框,可以为代码过程设置快捷键,如下图所示。
那么问题来了,【宏】对话框中不显示私有过程,是否可以为私有过程设置快捷键呢?
答案是肯定的,Excel操作界面中无法直接设置,可以使用VBA代码过程进行设置。
代码如下。
Private Sub SetShortKey()
Application.OnKey "^+W", "PrivateDemo"
End Sub
运行过程SetShortKey,在Excel界面中按<Ctrl+Shift+W>组合键,将运行过程PrivateDemo
显示如下所示的对话框。
使用如下代码可以取消快捷键关联
Private Sub SetShortKey()
Application.OnKey "^+W", ""
End Sub