如何在执行Excel自动打开宏之前调试它?
我被要求修复宏无法正常工作的Excel工作簿。工作簿包含一个自动打开宏,用于更改内容,包括隐藏或删除工作表。一旦运行完,第二次运行总是会崩溃,因为它试图选择以前删除的工作表 我想一步一步地完成自动打开,但问题是:如何在执行Excel自动打开宏之前调试它?,excel,vba,debugging,Excel,Vba,Debugging,我被要求修复宏无法正常工作的Excel工作簿。工作簿包含一个自动打开宏,用于更改内容,包括隐藏或删除工作表。一旦运行完,第二次运行总是会崩溃,因为它试图选择以前删除的工作表 我想一步一步地完成自动打开,但问题是: 如果打开工作簿并选择禁用宏,则无法查看宏。 如果我打开工作簿并选择不禁用宏,则在可以停止它之前自动打开运行 如何在自动打开第一次运行时单步执行?完整答案线索在注释中 禁用宏后,可以编辑或调试宏,但您需要使用Microsoft Excel对象展开树状视图中的右键单击上下文菜单将代码加载到
如果打开工作簿并选择禁用宏,则无法查看宏。
如果我打开工作簿并选择不禁用宏,则在可以停止它之前自动打开运行
如何在自动打开第一次运行时单步执行?完整答案线索在注释中 禁用宏后,可以编辑或调试宏,但您需要使用Microsoft Excel对象展开树状视图中的右键单击上下文菜单将代码加载到“编辑”面板中(单击一次即可显示空面板)
我将“Stop”作为自动打开宏中的第一个命令,并保存了工作簿。在重新打开工作簿时,我可以选择启用宏并让Auto Open运行,然后直接跳入调试器,在第一次运行时逐步执行。查看
Debug.Assert False
您只需将其作为自动打开子例程中的第一行插入即可
Debug.Assert Condition
将停止代码并提示调试,如果Condition=False
禁用宏不应阻止您查看宏。我同意。如果我禁用了宏并试图查看宏,我会看到“运行”或“进入”选项,以及“编辑”、“创建”、“删除”和“选项…”的禁用(灰显)选项。如果我选择“进入”,我会收到一条对话框消息,告诉我必须重新打开工作簿并选择启用宏。@BrianLowe按Alt+F11打开VB编辑器。即使宏被禁用,您也应该可以看到它们。单击VBAProject+加号可查看工作表和模块。Workbook\u Open
将在此工作簿中的Microsoft Excel对象下。双击它,它将在编辑器的右侧显示该方法。如果这不起作用,您将在右侧窗格中找到两个下拉列表。。在第一个下拉列表中选择工作簿,并在第二个下拉列表中打开