1
我創建了一個工作在application.wait之外的狀態欄。從某種意義上說,這很有效。但是,我希望能夠在處理其他工作表時更新狀態欄。我無法找到合適的方法。以下是我到目前爲止。更好的方式來延遲除Application.Wait或Application.Sleep以外的宏?
Private i As Integer
Private newHour
Private newMinute
Private newSecond
Private waitTime
Private Sub UserForm_Activate()
For i = 1 To 10
UserForm1.Label1.Width = UserForm1.Label1.Width + 24
Application.Calculate
If Application.CalculationState = xlDone Then
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End If
Next
UserForm1.Hide
End Sub
注:對於一些奇怪的原因,我能得到的標籤不斷更新的唯一方法是使用Application.Calculate。否則,它會等待整整10秒,然後在隱藏用戶表單之前狀態欄會達到最大擴展。