Excel宏 - 代码调试



您已经了解到宏以VBA代码的形式存储在Excel中。您还了解到可以直接编写代码以在VBA编辑器中创建宏。但是,与任何代码一样,宏代码也可能存在缺陷,并且宏可能无法按预期运行。

这需要检查代码以查找缺陷并进行更正。在软件开发中,此活动使用的术语是调试。

VBA调试

VBA编辑器允许您暂停代码的执行并执行任何所需的调试任务。以下是您可以执行的一些调试任务。

  • 单步执行代码
  • 使用断点
  • 在代码中后退或前进
  • 不单步执行每一行代码
  • 单步执行代码时查询任何内容
  • 停止执行

这些只是您可能在VBA的调试环境中执行的一些任务。

单步执行代码

调试的第一步是在执行代码时单步执行代码。如果您知道代码的哪个部分可能导致缺陷,您可以跳转到该代码行。否则,您可以逐行执行代码,在代码中后退或前进。

您可以从工作簿中的宏对话框或VBA编辑器本身单步执行代码。

从工作簿单步执行代码

要从工作簿单步执行代码,请执行以下操作:

  • 单击功能区上的“视图”选项卡。
  • 单击“宏”。
  • 从下拉列表中选择“查看宏”。

将出现“宏”对话框。

  • 单击宏名称。
  • 单击“单步执行”按钮。
Step into

VBA编辑器将打开,并且宏代码将显示在代码窗口中。宏代码中的第一行将以黄色突出显示。

Macro Code

从VBA编辑器单步执行代码

要从VBA编辑器单步执行代码,请执行以下操作:

  • 单击功能区上的“开发工具”选项卡。
  • 单击“Visual Basic”。VBA编辑器将打开。
  • 单击包含宏代码的模块。

宏代码将显示在代码窗口中。

Stepping
  • 单击功能区上的“调试”选项卡。

  • 从下拉列表中选择“单步执行”。

Dropdown

将突出显示宏代码中的第一行。代码处于调试模式,并且“调试”下拉列表中的选项将处于活动状态。

Active

在代码中后退或前进

您可以通过选择“单步跳过”或“单步跳出”来在代码中向前或向后移动。

不单步执行每一行代码

如果您确定需要讨论的代码的潜在部分,可以通过选择“运行到光标”来避免单步执行每一行代码。

使用断点

或者,您可以在代码的特定行设置断点并执行代码,观察每个断点处的结果。您可以根据需要切换断点和清除所有断点。

使用监视

调试时,您可以添加监视以评估表达式并在变量达到特定值时停止执行。这意味着您配置一个监视表达式,该表达式将被监视直到为真,然后宏将停止并使您进入中断模式。VBA为您提供了多种监视类型可供选择,以便完成您想要完成的任务。

停止执行

在调试过程中,在任何时间点,如果您找到了出错的原因,您可以停止执行以进一步解读。

如果您是一位经验丰富的开发者,调试术语对您来说很熟悉,VBA编辑器调试选项使您的工作更简单。即使不是,如果您已经学习了VBA并理解了代码,那么掌握这项技能也不会花费太多时间。

广告