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