Sub ende_finden()
Dim zeile As Long
Dim ende As Long
Dim dauer As Double
Dim startzeit As Double
Dim gefunden As Boolean
Dim zusatz As Double
Dim spalte As Long
ende = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
If ende = 9 Then End
For zeile = 10 To ende
    If ActiveSheet.Cells(zeile, 1) <> "" And ActiveSheet.Cells(zeile, 4) = "" Then
        dauer = CDbl(ActiveSheet.Cells(zeile, 6))
        startzeit = CDbl(ActiveSheet.Cells(zeile, 3))
        gefunden = False
        spalte = 10
        zusatz = 0
        While gefunden = False
            If (ActiveSheet.Cells(6, spalte)) = "" Then
                MsgBox "Es wurde kein Tag mit Kapazität mehr gefunden. Die Berechnung konnte nicht beendet werden. Bitte die Daten überprüfen", , "Fehler bei Kapazitäten"
                End
            End If
            If dauer <= CDbl(ActiveSheet.Cells(6, spalte)) Then
                zusatz = zusatz + dauer / 24 / 60
                ActiveSheet.Cells(6, spalte) = ActiveSheet.Cells(6, spalte) - dauer
                gefunden = True
            Else
                dauer = dauer - CDbl(ActiveSheet.Cells(6, spalte))
                ActiveSheet.Cells(6, spalte) = 0
                zusatz = zusatz + 1
                spalte = spalte + 1
            End If
        Wend
        
        ActiveSheet.Cells(zeile, 4) = Format(startzeit + zusatz, "dd/mm/yyyy hh:mm")
    End If
Next zeile
End Sub
	  
     |