PDA

Vollständige Version anzeigen : Zeitanzeige - Millisekunden in Minuten und Sekunden


Nagus
24.03.2009, 07:22
Hallo,

ich habe folgenden Code, um die Zeit, zB die Dauer des Abarbeiten einers Codes, zu messen:

Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Stoppuhr()

Dim sngStart As Single
Dim sngDauer As Single

sngStart = GetTickCount
Sleep (5000)

sngDauer = Format(GetTickCount - sngStart, "##,##0")

Debug.Print "Dauer in Millisek.: " & Format(sngDauer, "##,##0")
Beep

End Sub


Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) und der dazugehörige Befehl Sleep (5000) dient lediglich dazu die Ausführung des Codes zu blockieren.

Das Ergebnis ist gut, ich würde aber gerne, dass bei einer Dauer von >60s, die Anzeige nicht mehr in Millisekunden, sondern in Minuten und (Milli)Sekunden angezeigt wird, also wenn die Dauer 65100ms war, sollte das Ergebnis als 1:05'100 angezeigt werden.

Wie stelle ich das an?

chris-kaiser
24.03.2009, 08:44
hiho

Debug.Print "Dauer: " & Format(WorksheetFunction.RoundDown(sngDauer, -3) / 86400000, "hh:mm:ss") & "," & sngDauer Mod 1000

Nagus
24.03.2009, 09:01
Hi Chris, das ist perfekt.
Vielen Dank!