Anzeige
Archiv - Navigation
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeiten addieren >24h in Userform

Zeiten addieren >24h in Userform
29.01.2004 21:43:46
Peter3
Hallo zusammen,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeiten addieren >24h in Userform
30.01.2004 13:29:40
y
hi Peter,
nicht immer so ungeduldig sein ;-)
strtime = Format(Int(summe * 24), "00") & ":" & Format(Int((summe * 24) - Int(summe * 24)) * 60, "00")
füg mal diese zeile nach "summe = pf + pnf" ein
und oben noch
Dim strtime as String
in der variablen "strtime" steht jetzt deine aufaddierte zeit die du mit
lbl_totalzeit.caption = strtime
zuweisen kannst
aber vorsicht damit kannst du nicht mehr weiterrechnen da musst du dann summe benutzen

cu Micha
AW: Zeiten addieren >24h in Userform
31.01.2004 20:23:27
Peter3
hi micha,
vielen Dank für deine Hilfe. Deine Lösung funktioniert soweit. (Die Minuten werden noch nicht angezeigt, bzw nur 00), aber das frickel ich mir schon hin. Also nochmal danke für deine Mühe.
Gr, P.
Anzeige
danke für die rückmeldung :-) o.t.
31.01.2004 20:27:43
y
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige