当前位置:编程学习 > VB >>

Excel 中vab代码执行速度非常慢,不知道哪里需要改进呢

--------------------编程问答--------------------
ScreenUpdating 属性
请参阅 应用于 示例 特性 
如果屏幕更新功能是打开的,则该值为 True。Boolean 类型,可读写。

说明
关闭屏幕更新可加快宏的执行速度。这样将看不到宏的执行过程,但宏的执行速度加快了。

当宏结束运行后,请记住将 ScreenUpdating 属性设回到 True。

示例
本示例演示将屏幕更新关闭以后,系统如何加快代码的执行速度。本示例隔列隐藏 Sheet1 上的列,并保存其执行时间。第一次,示例隐藏列时,屏幕更新是打开的;第二次执行时,屏幕更新是关闭的。运行本示例时,可比较信息框中显示的两次执行时间。

Dim elapsedTime(2)
Application.ScreenUpdating = True
For i = 1 To 2
    If i = 2 Then Application.ScreenUpdating = False
    startTime = Time
    Worksheets("Sheet1").Activate
    For Each c In ActiveSheet.Columns
        If c.Column Mod 2 = 0 Then
            c.Hidden = True
        End If
    Next c
    stopTime = Time
    elapsedTime(i) = (stopTime - startTime) * 24 * 60 * 60
Next i
Application.ScreenUpdating = True
MsgBox "Elapsed time, screen updating on: " & elapsedTime(1) & _
        " sec." & Chr(13) & _
        "Elapsed time, screen updating off: " & elapsedTime(2) & _
        " sec."
补充:VB ,  VBA
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,