Zeiten addieren >24h in Userform
29.01.2004 21:43:46
Peter3
ich habe ein ">24 h-Uhrzeiten-Additions-Problem". In der Tabelle ist es einfach per Formatierung zu lösen. Ich möchte aber die korrekte Summe allein unter VBA errechnen und in einer (zweiten) Userform im Bezeichnungsfeld angeben.
Situation: Tabelle mit zwei Uhrzeitspalten. VBA summiert erst erste Spalte, dann zweite und speichert die Werte in einer Variablen (pf und pnf). Was kann ich tun, damit Zeitsummen > 24 (dezimal 1) korrekt im Format zB 35:55 (35 h und 55 min) in der Userform dargestellt werden ? VBA gibt nur Rest-Uhrzeit > 24 h an.
Hier mein Code (bin kein besonders guter Programmierer):
Private Sub zeitenaddieren()
Dim i As Integer ' Zähler erste Schleife
Dim y As Integer ' Zähler zweite Schleife
Dim pf As Date ' Zeitsumme erste Spalte
Dim pnf As Date ' Zeitsumme zweite Spalte
Dim summe As Date ' Gesamtsumme beider Zeitsummen
Sheets("Zeiten").Activate
Range("H2").Select 'oberste Zelle erste Zeitspalte aktivieren
pf = 0
'erste Zeitspalte durchlaufen
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If IsNumeric(ActiveCell) Then 'Zellen ohne Uhrzeit auslassen
pf = pf + ActiveCell.Value
Else
End If
ActiveCell.Offset(1, 0).Select
Next i
Range("I2").Select 'oberste Zelle zweite Zeitspalte aktivieren
pnf = 0
'zweite Zeitspalte durchlaufen
For y = 1 To ActiveSheet.UsedRange.Rows.Count
If IsNumeric(ActiveCell) Then 'Zellen ohne Uhrzeit auslassen
pnf = pnf + ActiveCell.Value
Else
End If
ActiveCell.Offset(1, 0).Select
Next y
summe = pf + pnf
lbl_totalzeit = FormatDateTime(summe, vbShortTime)
End Sub
Danke für Tips, Peter