Uhrzeitberechnung nach Kommastelle
04.04.2019 08:42:09
Tim
ich habe eine Listbox, in der ich Uhrzeiten einlese. Nach Auswahl einer Zeile soll mir die Differenz zwischen beiden Zeiten berechnen, das funktioniert auch, jedoch beachtet er die Minuten nicht. Heißt zwischen 8:00-16:30 Uhr zeigt er mir 8,00 Stunden an, statt 8,50 Stunden, woran liegt das und was muss ich ändern damit es funktioniert?
Code zum einlesen in die Listbox:
Sub MA_Daten_einlesen()
Dim i As Long
UserForm1.ListBox1.Clear
With UserForm1.ListBox1
For i = 2 To Sheets("Mitarbeiter").Cells(65536, 1).End(xlUp).Row
If Cells(i, 7) = "aktiv" Then
.AddItem Cells(i, 1)
.List(.ListCount - 1, 0) = Sheets("Mitarbeiter").Cells(i, 1)
.List(.ListCount - 1, 1) = Sheets("Mitarbeiter").Cells(i, 2)
.List(.ListCount - 1, 2) = Format(Sheets("Mitarbeiter").Cells(i, 3), "hh:mm")
.List(.ListCount - 1, 3) = Format(Sheets("Mitarbeiter").Cells(i, 4), "hh:mm")
.List(.ListCount - 1, 4) = Sheets("Mitarbeiter").Cells(i, 5)
.List(.ListCount - 1, 5) = Sheets("Mitarbeiter").Cells(i, 6)
End If
Next i
End With
End Sub Code zur Berechnung der Zeit:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim Stunden As Integer
Stunden = 0
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Stunden = Stunden + Round((DateDiff("n", .List(i, 2), .List(i, 3)) / 60), 4)
End If
Next i
End With
TextBox2 = VBA.Format(Stunden, "#0.00")
End Sub