繁体   English   中英

工作簿打开缓慢

[英]Slow Workbook_Open event

我有一个工作簿,由于在workbook_open事件中运行了许多宏,因此需要6秒钟以上的时间才能打开。

我想加快速度,所以我使用了一个计时器来测试在启动和运行时打开工作簿时代码的不同部分。 在这两种情况下,所有部分都需要花费相同的时间才能运行,但以下部分除外:

Dim ATime As Double
Dim BTime As Double

ATime = timer

Dim b As Long
For b = 5 To 268
    If Sheets("Orders").Range("F" & b) = "Locked" Then
        Sheets("Orders").Range("C" & b).Locked = True
        Sheets("Orders").Range("D" & b).Locked = True
        Sheets("Orders").Range("E" & b).Locked = True
    End If
Next

BTime = timer
MsgBox "1. " & Format(BTime - ATime, "0.00 \s\ec")

在workbook_open运行时:2.78秒。 在工作簿中手动运行时:0.01秒。

这里有什么问题?

尝试:

With Sheets("Orders")
    For b = 5 To 268
        .Range("C" & b).Resize(1, 3).Locked = (.Range("F" & b) = "Locked") 
    Next
End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM