所以我已经看到了在excel中隐藏屏幕更新的所有方法,我正在寻找的是数据问题,所以我想看到屏幕更新。有没有办法在宏期间对屏幕进行编码以缓慢更新?我尝试了以下方法:
'//////添加屏幕更新以观看正在发生的事情 Application.ScreenUpdating = True Application.Wait Now + TimeValue("00:00:01") '/////
我得到的只是屏幕闪烁。
谢谢你对我很好。
您所追求的是一种更好的调试错误的方法。ScreenUpdating
应用程序的属性不是你想要的:)
相反,在您怀疑发生错误的位置或之前使用 F9 在代码中设置断点。如有必要,您可以将其放在您的第一行代码中(如果您根本不知道错误发生在哪里)。
这是一个断点,它是红色/栗色突出显示的行:
然后,使用 F8 键,您可以逐行浏览代码。
您可以根据需要添加任意数量的断点。按 F5 将只执行代码到下一个断点,然后您必须按 F8 或 F5 才能恢复执行。
一些额外的东西来帮助你调试
使用局部变量窗口。
这向您显示范围内的变量,您可以单击它们以查看它们的属性/等。如您所见,我在一个相当复杂的应用程序中有大量变量。我发现 immeidates 窗口对Object
变量和数组非常有帮助。这是我展开数组变量时的样子,这样我就可以看到它的所有内容:
使用即时窗口查询变量或在代码之外执行语句,这相当于Debug.Print
语句。例如,让我们检查某个变量的值是否为“9”,您可以:
?someVar = 9
然后按回车。它会告诉你真或假。您可以直接查询该值?someVar
,它会打印该值。
在此屏幕截图中,我正在检查一个布尔值,它显示该值为False
. 我也可以在 Locals 窗口中验证这一点。
屏幕更新只能在代码开始时设置一次。但是Wait
你需要把它放在你的循环中,或者在你的代码行之间传播。