1

所以我已经看到了在excel中隐藏屏幕更新的所有方法,我正在寻找的是数据问题,所以我想看到屏幕更新。有没有办法在宏期间对屏幕进行编码以缓慢更新?我尝试了以下方法:

'//////添加屏幕更新以观看正在发生的事情 Application.ScreenUpdating = True Application.Wait Now + TimeValue("00:00:01") '/////

我得到的只是屏幕闪烁。

谢谢你对我很好。

4

2 回答 2

7

您所追求的是一种更好的调试错误的方法。ScreenUpdating应用程序的属性不是你想要的:)

相反,在您怀疑发生错误的位置或之前使用 F9 在代码中设置断点。如有必要,您可以将其放在您的第一行代码中(如果您根本不知道错误发生在哪里)。

这是一个断点,它是红色/栗色突出显示的行:

断点

然后,使用 F8 键,您可以逐行浏览代码。

您可以根据需要添加任意数量的断点。按 F5 将只执行代码到下一个断点,然后您必须按 F8 或 F5 才能恢复执行。

一些额外的东西来帮助你调试

使用局部变量窗口。

当地人窗口

这向您显示范围内的变量,您可以单击它们以查看它们的属性/等。如您所见,我在一个相当复杂的应用程序中有大量变量。我发现 immeidates 窗口对Object变量和数组非常有帮助。这是我展开数组变量时的样子,这样我就可以看到它的所有内容:

数组变量上的局部变量窗口特写

使用即时窗口查询变量或在代码之外执行语句,这相当于Debug.Print语句。例如,让我们检查某个变量的值是否为“9”,您可以:

?someVar = 9然后按回车。它会告诉你真或假。您可以直接查询该值?someVar,它会打印该值。

在此屏幕截图中,我正在检查一个布尔值,它显示该值为False. 我也可以在 Locals 窗口中验证这一点。

即时窗口

于 2013-05-13T19:57:35.457 回答
0

屏幕更新只能在代码开始时设置一次。但是Wait你需要把它放在你的循环中,或者在你的代码行之间传播。

于 2013-05-13T19:37:02.667 回答