Hallo,
habe tatsächlich einen Code hingekriegt, der das exakte Ergebnis unter Berücksichtigung evtl. Überlappungen liefert.
In A1:A5 stehen die Anfangszeiten und B1:B5 die Endzeiten. Habe von der Gesamtzeitspanne erst die Pausen und dann die Überlappungen abgezogen, die ich jeweils separat ausgerechnet habe. Sind zwar ein paar Schritte aber scheint zu funktionieren...
Sub Stunden_Erfassung()
Dim ende
Dim spanneZ As Date, pause As Date, uelapp As Date
Range("A1:B5").NumberFormat = "hh:mm"
Range("A1").Select
Selection.End(xlDown).Select
ende = Selection.Row
spanneZ = Cells(ende, 2) - Cells(1, 1)
For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row - 1
pause = pause + Cells(n, 2) - Cells(n + 1, 1)
Next
For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(n, 2) > Cells(n + 1, 1) Then
uelapp = uelapp + Cells(n, 2) - Cells(n + 1, 1)
End If
Next
MsgBox spanneZ - pause - uelapp
End Sub
Gruß
Andreas