在Excel VBA中检查公共变量的值 - Locals Window Alternative

psy*_*ics 6 debugging excel vba global-variables excel-vba variable-assignment

我一直在使用Locals窗口来检查过程级变量的赋值.

我最近更新了我的代码,以创建一组公共级变量,这些变量读取工作表中的某些输入,这些输入不会在项目之间发生变化.

当试图检查这些变量时,我没有在Locals窗口中看到它们,毫无疑问,因为它们不是本地定义的变量!

公共变量的Locals窗口是否有替代方案?如果没有,我该如何检查公共变量分配?

Pet*_*ert 18

除了立即窗口(如另一个答案中所述),Watch窗口在这些情况下非常有用.您可以在" 视图"菜单 - >" 监视"窗口中激活它: 在此输入图像描述

在这里你可以定义:

  • 任何变量(例如你的公共变量)
  • 一个完整的术语,例如 ActiveWorkbook.UsedRange.Address
  • 每只手表的范围
  • 甚至在值发生变化或结果时出现断点True- 这在调试时非常方便,因为它允许您快速条件断点而无需添加额外的代码,例如,如果您设置监视myVar=0并激活Break When Value为True,代码将自动停止潜在错误"启动"的那一刻

您可以在"添加监视"对话框中添加所有这些选项,您可以通过右键单击代码模块中的任何变量(或其他代码)或右键单击监视窗口来获得这些选项:

在此输入图像描述

此外,您只需双击即可编辑列表中的任何监视项目.

非常方便的调试工具,尤其是 与本地立即窗口结合使用.


小智 9

使用立即窗口.在编码环境中按Ctrl + G转到立即窗口.它允许在调试模式下获取和设置变量的值.你需要加前缀?检查变量的值.例

 ?variableName   press enter to get the value
 variableName ="test" press enter to set the value
Run Code Online (Sandbox Code Playgroud)