刚刚升级到Excel 2013,我已经将宏从旧的自定义工具栏移动到了自定义功能区菜单。除了一件事,其他所有方法都运行良好。我曾经有一个在AutoOpen上运行的宏,但是也可以通过工具栏上的按钮手动调用它。
我使用有效的Sub myMacro(control As IRibbonControl)
从功能区调用宏。但是,如果我在AutoOpen中使用Call myMacro(control As IRibbonControl)
,则会收到“预期列表分隔符”错误。相反,如果我在AutoOpen中只是Call myMacro()
,显然会收到“参数非可选”错误。赶上22!
我知道我可以将代码移到第三个子例程,由功能区和AutoOpen中的两个单独的宏调用,但是在我接受失败并这样做之前,我想知道是否有解决办法。
我已经在网上搜索了有关此问题的解决方案,但找不到任何可以回答我的特定查询的信息。
谢谢
抢
最佳答案
一个简单的代码会有所帮助吗?
Option Explicit
Sub AutoOpen()
Dim ctl As IRibbonControl
myMacro ctl
End Sub
Sub myMacro(control As IRibbonControl)
MsgBox "Hello World"
End Sub