VBA:如何测试从自定义功能区启动的宏?
VBA:如何测试从自定义功能区启动的宏?
我使用Microsoft Office自定义UI编辑器在Excel 365中添加了一个自定义组到功能区,使用了以下代码:
当我从该按钮运行宏时,会出现多个错误消息。(但是当我从宏窗口或其他方式运行时,没有出错。)我想逐步执行代码,但它忽略了断点和停止命令。
有没有办法在以这种方式启动时逐步执行代码?
编辑:一个可能的线索:这个人遇到了我遇到的一个错误:Calling an excel macro from the ribbon。为了应用相同的修复方法,我需要在我的Sub custombutton1()
中添加control As IRibbonControl
。但是如果我有一个Sub custombutton1()
,我不知道它在哪里。
编辑:没关系;我了解到这是一个我必须添加到模块中的“回调”函数。现在宏正常运行。然而,我仍然希望得到对我最初问题的回答:我如何逐步执行代码进行调试?
问题原因:宏无法从自定义功能区启动。
解决方法:确保"Macro1()"位于模块级别。这样做应该解决您的问题。
以下是解决该问题的步骤:
1. 打开您的Excel工作簿。
2. 按下Alt + F11打开Visual Basic for Applications(VBA)编辑器。
3. 在VBA编辑器中,确保您已打开“项目资源管理器”窗口。如果未打开,请转到“视图”菜单并选择“项目资源管理器”。
4. 在“项目资源管理器”窗口中,展开“Microsoft Excel对象”节点,然后双击要包含宏的工作表。
5. 在代码窗口中,确保宏"Macro1()"位于模块级别,而不是工作表级别。这意味着它应该在工作表的代码窗口中而不是工作表自身的代码窗口中。
6. 如果宏"Macro1()"不在模块级别,请将其复制并粘贴到新的或现有的模块中。
7. 保存并关闭VBA编辑器。
8. 返回到Excel工作簿,并单击“文件”选项卡上的“选项”。
9. 在“Excel选项”对话框中,选择“自定义功能区”选项。
10. 在右侧的“自定义功能区”列表中,找到您的自定义功能区,并确保其选中。
11. 单击“修改”按钮以打开“自定义功能区编辑器”。
12. 在“自定义功能区编辑器”中,选择您要在其中添加宏按钮的选项卡,例如“主页”选项卡。
13. 单击“新建组”按钮以创建一个新的组,如果您已经有一个组,也可以选择该组。
14. 在新创建的组中,选择“命令”选项卡,然后从左侧的“选择命令”列表中选择“宏”。
15. 在右侧的“自定义功能区编辑器”窗口中,将“宏”命令拖动到您的自定义功能区选项卡上的适当位置。
16. 单击“确定”按钮并关闭“自定义功能区编辑器”。
17. 单击“确定”按钮关闭“Excel选项”对话框。
18. 现在,您应该能够从自定义功能区启动宏"Macro1()"了。