【发布时间】:2014-01-22 22:36:09
【问题描述】:
刚刚升级到 Excel 2013,我已将宏从旧版自定义工具栏移至自定义功能区菜单。一切都很好,除了一件事。我曾经有一个在 AutoOpen 上运行的宏,但也可以通过工具栏上的按钮手动调用。
我使用 Sub myMacro(control As IRibbonControl) 从功能区调用我的宏,这很有效。但是,如果我在 AutoOpen 中 Call myMacro(control As IRibbonControl) 我会收到“预期列表分隔符”错误。相反,如果我只是在 AutoOpen 中使用Call myMacro(),我显然会收到“参数不是可选的”错误。第 22 条渔获!
我知道我可以将我的代码移动到第三个子例程,由功能区和 AutoOpen 中的两个单独的宏调用,但在我承认失败并这样做之前,我想知道是否有办法解决这个问题。
我已经在网上搜索了解决方案,但找不到任何可以回答我的特定查询的内容。
谢谢
罗伯
【问题讨论】:
-
即使您找到了答案,也请考虑使用“第三个子程序”方法。调试起来更容易,而且对未来的维护也不会那么混乱。
-
好点道格,下面的提示有效,但我也会考虑你的建议。正如你所说,调试会更容易知道谁从哪里调用了什么!
标签: excel ribbon excel-2013 vba