Sub TimeTest()
Dim i As Long, s As String, d As Double, h As Double, m As Integer, sec As Integer
' http://www.excelforum.com/excel-programming-vba-macros/1064314-sorting-an-array-of-strings-into-alphabetical-order.html#post3977317
Dim t As New cTimer
GoTo test
t.StartCounter
For i = 1 To 10000
s = s & " " & i
Application.Wait (Now + TimeValue("0:00:01.5"))
Next i
d = t.TimeElapsed
test:
d = CDbl(999) '999 milliseconds
d = CDbl(1000) '1 seconds
d = CDbl(60000) '1 minutes, 0 seconds
Select Case True
' Milliseconds
Case d < 1000
s = d & " milliseconds"
'Seconds
Case d >= 1000 And d < 60000
s = Format(d / 86400000, "s" & Chr(34) & " seconds" & Chr(34))
'Minutes, Seconds
Case d >= 60000 And d < 3600000
s = Format(d / 86400000, "N" & Chr(34) & " minutes, " & Chr(34) & _
"s" & Chr(34) & " seconds" & Chr(34))
Case d >= 3600000 And d < 86400000
s = Format(d / 86400000, "h" & Chr(34) & " hours, " & Chr(34) & _
"N" & Chr(34) & " minutes, " & Chr(34) & _
"s" & Chr(34) & " seconds" & Chr(34))
Case Else
End Select
MsgBox d & " milliseconds: " & s
End Sub
Bookmarks