有没有办法在Excel中隐藏macros?

我刚刚完成了一些VBA,我想知道是否有办法在Excel上隐藏某些macros。

我需要用户运行一个特定的macros,只有那个,但它显示Excel中的所有子macros。 我想从用户隐藏不必要的macros,这样用户不会意外地点击错误的macros。

您也可以通过将要隐藏的macros放在单独的模块中,然后在代码之前使用模块顶部的Option Private Module来完成此操作。 macros将仍然可用于您的项目,但不会出现在用户看到的macros时,他点击macrosbutton。

您可以在function区中创build一个button来运行macros,也可以在VBA编辑器中的每个“Sub”之前添加“Private”,以避免用户轻松访问。

为了从(Alt + F8)开发者中主观地“隐藏”某些子程序(即“macros”),macros对话框使用一个可选的非variables参数。

Sub meh(Optional w As Worksheet) Debug.Print "hello world" End Sub 

mehmacros不会显示在要运行的macros列表中。 如果将参数变暗为variables,它将显示在列表中。 这可能是由于可选的variables参数能够使用IsMissing函数。 它也不能用F5从VBE运行,或者用F8进行。

test子程序将正确运行代码。

 Sub test() meh End Sub Sub meh(Optional w As Worksheet) Debug.Print "hello world" End Sub