刚刚升级到Excel 2013,我已将宏从旧版自定义工具栏移动到自定义功能区菜单。一切都很好,除了一件事。我曾经有一个在AutoOpen上运行的宏,但也可以通过工具栏上的按钮手动调用。
我使用Sub myMacro(control As IRibbonControl)
从功能区调用我的宏。但是,如果我在AutoOpen中Call myMacro(control As IRibbonControl)
,我会收到“预期列表分隔符”错误。相反,如果我只是在AutoOpen中Call myMacro()
,我显然会得到一个“参数不是可选的”错误。抓住了一点22!
我知道我可以将我的代码移动到第三个子程序,由功能区和AutoOpen中的两个单独的宏调用,但在我承认失败之前这样做,我想知道是否有办法解决这个问题。
我在网上搜索了一个解决方案,但找不到任何可以回答我特定查询的内容。
由于
罗布
答案 0 :(得分:3)
这样一个简单的代码会有帮助吗?
Option Explicit
Sub AutoOpen()
Dim ctl As IRibbonControl
myMacro ctl
End Sub
Sub myMacro(control As IRibbonControl)
MsgBox "Hello World"
End Sub