VB-Tec.de Visual Basic - Technik, FAQ, Tricks, BeispieleHome / Allgemein / Zeit / Stunden Berechnungen mit mehr als 24 Stunden |
'"hh:nn" in Datumswert umwandeln:
Function HHNNValue(ByVal Text As String) As Variant
Dim PosTrenner As Long
Dim Stunden As Variant
Dim Minuten As Variant
'Stundenanteil:
Stunden = CDec(Val(Text))
'Ggf. Minutenanteil:
PosTrenner = InStr(Text, ":")
If PosTrenner Then
Text = Mid$(Text, PosTrenner + 1)
Minuten = CDec(Val(Text))
End If
'Konvertieren in Tagesanteil:
HHNNValue = (Stunden + Minuten / 60) / 24
End Function
'Datumswert in "hh:nn" umwandeln:
Function HHNNString(ByVal Zeit As Variant) As String
Dim Stunden As Long
Dim Minuten As Long
'In (gerundete) Gesamtminuten konvertieren:
Zeit = Int(Zeit * 24 * 60 + 0.5)
'Stunden- und Minutenanteil bestimmen:
Stunden = Zeit \ 60
Minuten = CLng(Zeit - Stunden * 60)
'Formatierung:
HHNNString = Format$(Stunden, "00") _
& ":" & Format$(Minuten, "00")
End Function
So ergibt der Aufruf von HHNNValue("240") den Wert 10 (ganze Tage), HHNNValue("0:360") den Wert 0,25 (360 Minuten sind 6 Stunden sind ein viertel Tag) und HHNNString(10.25) erzeugt den String "246:00". © Jost Schwider, 05.05.2000-05.05.2000 - http://vb-tec.de/stunden.htm