Excel 宏 - 调试代码
您已经了解到宏在 Excel 中存储为 VBA 代码。您还了解到可以直接编写代码在 VBA 编辑器中创建宏。但是,与任何代码的情况一样,即使是宏代码也可能存在缺陷,并且宏可能不会按您的预期运行。
这需要检查代码以发现缺陷并纠正它们。软件开发中用于此活动的术语是调试。
VBA调试
VBA 编辑器允许您暂停代码的执行并执行任何所需的调试任务。以下是您可以执行的一些调试任务。
- 单步执行代码
- 使用断点
- 在代码中备份或前进
- 不单步执行每一行代码
- 单步执行代码时查询任何内容
- 停止执行
这些只是您可能在 VBA 调试环境中执行的一些任务。
单步执行代码
调试时要做的第一件事是在执行代码时单步执行代码。如果您知道代码的哪一部分可能会产生缺陷,则可以跳转到该代码行。否则,您可以逐行执行代码,在代码中后退或前进。
您可以从工作簿中的宏对话框或 VBA 编辑器本身单步执行代码。
单步执行工作簿中的代码
要单步执行工作簿中的代码,请执行以下操作 -
- 单击功能区上的“查看”选项卡。
- 单击宏。
- 从下拉列表中选择查看宏。
出现宏对话框。
- 单击宏名称。
- 单击“步入”按钮。
VBA 编辑器打开,宏代码出现在代码窗口中。宏代码中的第一行将以黄色突出显示。
从 VBA 编辑器单步执行代码
要从 VBA 编辑器单步执行代码,请执行以下操作 -
- 单击功能区上的“开发人员”选项卡。
- 单击“Visual Basic”。VBA 编辑器打开。
- 单击包含宏代码的模块。
宏代码出现在代码窗口中。
单击功能区上的“调试”选项卡。
从下拉列表中选择步入。
宏代码中的第一行将突出显示。代码处于调试模式,“调试”下拉列表中的选项将变为活动状态。
在代码中备份或前进
您可以通过选择“步过”或“步出”在代码中向前或向后移动。
不单步执行每一行代码
如果您通过选择“运行到光标”来确定需要讨论的潜在代码部分,则可以避免单步执行每一行代码。
使用断点
或者,您可以在特定代码行设置断点并执行代码,观察每个断点处的结果。如果需要,您可以切换断点并清除所有断点。
使用手表
您可以在调试时添加监视,以计算表达式并在变量达到特定值时停止执行。这意味着您配置了一个监视表达式,该表达式将被监视,直到它为真,然后宏将停止并让您处于中断模式。VBA 为您提供了多种手表类型供您选择,以实现您的需求。
停止执行
在调试过程中,在任何时候,如果您发现了问题的线索,您可以停止执行以进一步破译。
如果您是一位经验丰富的开发人员,那么您会熟悉调试术语,并且 VBA 编辑器调试选项会让您的生活变得简单。即便如此,如果你学过 VBA 并理解代码,掌握这项技能也不需要太多时间。