Excel 宏 - 调试代码

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

这需要检查代码以找出缺陷并加以改正。 在软件开发中用于此活动的术语是调试。


VBA 调试

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

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

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

单步执行代码

对于调试,您必须做的第一件事是在执行代码时单步执行代码。 如果您知道代码的哪一部分可能产生了缺陷,您可以跳转到该代码行。 否则,您可以逐行执行代码,在代码中后退或前进。

您可以从工作簿中的宏对话框或 VBA 编辑器本身进入代码。

单步执行工作簿中的代码

要单步执行工作簿中的代码,请执行以下操作 −

  • 单击功能区上的"查看"选项卡。
  • 点击宏。
  • 从下拉列表中选择查看宏。

宏对话框出现。

  • 单击宏名称。
  • 单击进入按钮。
进入

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

宏代码

从 VBA 编辑器单步执行代码

要从 VBA 编辑器进入代码,请执行以下操作 −

  • 单击功能区上的"开发人员"选项卡。
  • 点击 Visual Basic。 VBA 编辑器打开。
  • 单击包含宏代码的模块。

宏代码出现在代码窗口中。

步进
  • 单击功能区上的"调试"选项卡。

  • 从下拉列表中选择step into

下拉菜单

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

活动

在代码中备份或前进

您可以通过选择 Step Over 或 Step Out 在代码中向前或向后移动。

不逐行执行代码

如果您确定需要讨论的代码的潜在部分,则可以通过选择"运行到光标"来避免逐行执行代码。

使用断点

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

使用监视

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

停止执行

在调试过程中,任何时候,如果您发现问题所在的线索,您都可以停止执行以进一步破译。

如果您是一位经验丰富的开发人员,调试术语对您来说很熟悉,VBA 编辑器调试选项让您的生活变得简单。 即便如此,如果您学过 VBA 并看懂了代码,掌握这项技能也不会花费太多时间。