ich habe ein Problem mit dem Rechnen mit Zeiten.
Ich muß für Statistiken auch mit negativen Zeiten arbeiten.
Dazu habe ich alle "normal" eingegebenen Zeiten in dezimale umgerechnet ( / 24 ).
Mit einem VB Programm errechner ich anschließend wieder korrekt angezeigte Zeiten. Vorteil: Diese können auch negativ sein.
Problem:
Das Programm rechnet bei bestimmten Zeiten (immer wenn das Ergebnis ca. 1:00h ist) falsch. Ich vermute Rundungsdiferenzen als Fehler, komme der Lösung aber nicht näher.
Beispiel:
Start: 07:00
Ende: 08:00
Differenz: 01:00
als Zahl dargestellt: 0,04166666666666660
Zahl / 24: 0,00173611111111111
richtiges Ergebnis: 01:00
Ergebnis meiner Func.: 00:00
Dies passiert aber wie gesagt nicht bei alle Zeiten.
Hier der Code:
Function DezZeit(StdZelle As Range)
StdDec = CDec(StdZelle.Value)
Stunden = Fix(StdDec * 24 * 24)
If (StdDec * 24) <> 0 Then
If (StdDec * 24) < 0 Then
DezZeit = "-" & Str(Abs(Stunden)) & ":" & Format$((StdDec * 24) * -1, "nn")
Else
DezZeit = Str(Stunden) & ":" & Format$((StdDec * 24), "nn")
End If
Else
DezZeit = ""
End If
End Function
Sieht jemand den Fehler ?
Viele GRüße
Ulrich