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

时间:2017-09-18 20:53:11

标签: excel vba excel-vba

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

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

3 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:4)

您可以在功能区中创建一个按钮来运行宏,也可以在VBA编辑器中的每个“Sub”之前添加“Private”,而不希望用户轻松访问。

答案 2 :(得分:1)

主观地隐藏' (Alt + F8)开发人员,宏对话框中的某些子过程(即' macros')使用可选的非变量参数,这意味着什么。

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

meh宏不会显示在要运行的宏列表中。如果将参数调暗为变量,它将显示在列表中。这可能是由于可选的变量参数能够使用IsMissing函数。它也无法从带有F5的VBE运行或通过F8步进。

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

Sub test()
    meh
End Sub

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