Zeitformatierung in VBA
29.08.2005 10:06:58
Chemex
ich will von einer Ereignislsite die Zeitsumme ermitteln. Wenn ich in VBA die entsprechende Schleife programmiere, erhalte ich die Zeitangaben nur im 24 Std-Format, d. h. ganz Tage werden unterschlagen und ich erhalte nur den Stundenrest als Ergebnis (Bsp.: Statt 30 Std werden lediglich 6 Std angegeben.
Im Exceltabellenblatt kann ich zwar über "Zelle formatieren/ Uhrzeit" die Formatierung manuell ändern, aber das kann nicht die Lösung sein.
Könnte mir jemand den Trick verraten, wie ich im VBA Makro die Zeitformatierung angeben muss?
Besten Dank
Die (gekürzte) Makroroutine ist die Folgende
Sub auswertungZugreisezeit()
Dim eventdauer As Date
Dim e_start As Date, e_ende As Date
Dim i As Integer, ii As Integer, spaltenoffset As Integer, richtung As Integer
Sheets("Auswertung").Activate
Range("C3").Select
Sheets("se_unplanned1").Activate
Range("C3").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value = "C" Or ActiveCell.Value = "M" Then
ii = 0
eventdauer = 0
Do Until ActiveCell.Offset(0, 8 + 7 * ii).Value = ""
e_start = ActiveCell.Offset(0, 13 + 7 * ii).Value
e_ende = ActiveCell.Offset(0, 14 + 7 * ii).Value
eventdauer = e_ende - e_start
Select Case ActiveCell.Offset(0, 8 + 7 * ii).Value
Case "UM"
spaltenoffset = 6
End Select
Sheets("auswertung").Activate
ActiveCell.Offset(0, spaltenoffset).Value = _
FormatDateTime(ActiveCell.Offset(0, spaltenoffset).Value + _
eventdauer, vbShortTime)
Sheets("SE_Unplanned1").Activate
ii = ii + 1
Loop
Sheets("auswertung").Activate
ActiveCell.Offset(1, 0).Select
Sheets("se_unplanned1").Activate
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub