我开始学习VBA,但我不明白为什么一些从互联网上复制粘贴的宏没有显示在运行宏菜单中(Alt-F8)。
下面有2个宏,但只有第二个显示。为什么?我该如何解决?
Sub Test1(ByVal Target As Hyperlink)
'...
End Sub
Sub Test2()
'...
End Sub
答案 0 :(得分:2)
带有参数的宏在宏列表中不可用,因为它们不能单独运行,而是通过传递所需的参数由另一个宏调用。
答案 1 :(得分:1)
如果AfterViewInit
声明包含参数,则不会显示参数。
答案 2 :(得分:1)
您无法调用具有参数的宏。如果您需要一个参数,可以将其取出然后让用户输入值。
{{1}}
或者,如果超链接在您的文档中,请从文档中获取值。
答案 3 :(得分:1)
这是我的5美分 - 如果您提供可选参数,您将能够调用子例程,即使它不会显示在您可以选择的子例程中。
写aaaaTestMe
并按运行。
Public Sub aaaaTestMe(Optional lngA As Long = 8)
Debug.Print lngA
End Sub
答案 4 :(得分:1)
您可以从任何可以分配宏的 Excel 对象中调用偶数私有宏,调用方式如下:
'MyWorkbook'!'MyModule.MyProcedure "MyParameter1"'
(注意单引号:' 带参数的过程名称)