image

|好!这一点很重要。

任何良好的VBA程序始终在开头提到这一行。

Application.Screenupdating=FALSE

在此过程结束之前,您还将看到此行。

Application.Screenupdating=TRUE

什么是ScreenUpdating?

屏幕更新是VBA中应用程序对象的属性。可以将其设置为TRUE或FALSE。它就像一个开关,可以打开或关闭。

它是做什么的?

第一行通过停止Excel的实时屏幕更新来加快宏处理的速度。

如果您有一个长宏,可以写入不同的工作表,应用过滤器,删除过滤器,更改工作表,保存工作簿等。并且,如果您尚未使用Application.Screenupdating = FALSE行关闭屏幕更新,那么您将看到在屏幕上闪烁。由宏在工作簿中所做的每一个更改都将动态显示。这会减慢宏速度。

并且,如果在宏的开头有此行,则在使用Application.Screenupdating = TRUE行打开屏幕更新之前,excel不会反映宏所做的更改。

如果要加快宏的速度,请在子例程开始处禁用屏幕更新,并在子例程结束之前启用屏幕更新。

这是一个示例:

Sub Screencheck()

Application.Screenupdating=FALSE 'Disabling the screen updating.

Sheet1.Activate

Range("A1").value ="Hi"

Range("A2").value ="How are you?"

Range("A3").value ="Exceltip is amazing, isn't it?"

Sheet2.Activate

Application.Screenupdating= TRUE 'Enabling the screen updating.

End Sub

当您运行上述子程序时,您将看不到任何屏幕闪烁。您将看到此宏完成的工作的最终结果。

重要说明:

_确保在过程结束之前启用屏幕更新。

如果您不启用屏幕更新,则将无法看到宏所做的工作。_

| 无法在每个Exit Sub和End Sub命令之前更新屏幕。通常会在退出Sub之前忘记启用屏幕更新。如果您不这样做,您可能会一直想知道为什么您的代码不起作用。但实际上,确实如此。您只是看不到它。

而已。这就是Application.Screenupdating = False在VBA中的作用。

这一行代码变化很大。这是成熟编程和粗心编程之间的区别。如果要加速宏,请始终在代码中使用此行。希望对您有帮助。如果您对本文有任何疑问或有任何其他与Excel / VBA相关的问题,请随时在下面的评论部分中提问。我很乐意提供帮助。

相关文章:

`link:/ vba中的单元格范围行和列,byref和byval参数之间的差异是什么vba采访问题[ByRef和ByVal之间有什么区别参数?]:这是重要的VBA问题。 ByVal和ByRef用于不同地传递参数。一种允许对原始变量进行更改,而另一种则不会更改原始变量。

如何使用VBA在Excel中循环使用表格:在VBA中自动执行excel中常见的无聊任务时,将需要遍历每张纸。让我们从一个例子开始。 VBA代码将在Activeworkbook的所有工作表中循环并打印工作表名称link:/ events-in-vba-the-events-in-excel-vba [Excel VBA中的事件]:有时候我们希望某些事情会在某些情况下自动发生事件发生。为了在Excel中发生特定事件时执行某些操作,我们使用Excel VBA事件*

热门文章:

50 Excel快捷方式以提高生产率 || *更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。

Excel中的VLOOKUP函数 |这是excel中最常用和最受欢迎的功能之一,用于从不同范围和工作表中查找值。

link:/ tips-countif-in-microsoft-excel [Excel 2016中的COUNTIF]| *使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。

Countif功能对于准备仪表板至关重要。

如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。