Excel 宏调试代码


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

这需要检查代码以发现缺陷并纠正它们。在软件开发中用于此活动的术语是调试。

VBA 调试


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

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

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

单步执行代码

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

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

从工作簿进入代码

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

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

出现宏对话框。

  • 单击宏名称。
  • 单击“步入”按钮。
步骤 into

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

Macro Code

从 VBA 编辑器进入代码

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

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

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

步骤ping
  • 单击功能区上的调试选项卡。

  • Select 踏入 从下拉列表中。

Dropdown

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

Active

在代码中备份或前进

你可以通过选择 步骤 Over 或 步骤 Out 在代码中向前或向后移动。

不单步执行每一行代码

如果你确定需要讨论的代码的潜在部分,则可以通过选择 Run to Cursor 避免单步执行每一行代码。

使用断点

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

使用手表

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

停止执行

在调试期间,在任何时候,如果你发现了问题所在的线索,你可以暂停执行以进一步破译。

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