我想用下面的代碼來顯示一系列命令運行需要多長時間。在這個例子中,我預計它會回來「10」或類似的東西。VBA - 顯示子運行多長時間
相反,它回來了:
這是怎麼回事,我該如何正確格式化這個?
Sub timeyWimey()
Dim t1 As Date
Dim t2 As Date
Dim timeTaken As Date
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox timeTaken
End Sub
編輯:
一些偉大的答案後的最終代碼:在
Sub timeyWimey()
'Dim t1 As Double
'Dim t2 As Double
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox Format(timeTaken, "nn:ss.000")
End Sub
結果:
BAM!問題解決了!謝謝大家的幫助!
謝謝。所以這絕對解釋了這個問題。讓我稍微想一想。 – timbram
那麼,小數點後的數字格式(通過當天的數量)是如何工作的?如果重新運行我的腳本,保持一切爲雙打,我知道已經過去的時間(10秒)是0.00005787036934635。這是一天中的某個比例嗎? – timbram
我附加了如何將雙重格式化到我的答案結尾。而'0.00005787036934635'基本上是一天的百分比。例如,如果它是0.5,那將是12:00noon,因爲一天的一半已經過去了。 – Newd