[英]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.