|  
                                             
	Hallo, 
	das Anliegen ist lösbar: 
Sub ReCalcUeberstanden()
    Dim rng As Range
    Dim rngAbgbH As Range, rngMon As Range
    Dim iMon As Integer
    For Each rng In UsedRange.Rows
        Set rngAbgbH = rng.Cells(1, 2) ' Abgebaute Überstunden
        If IsNumeric(rngAbgbH) Then
            For iMon = 1 To 12
                Set rngMon = rng.Cells(1, 2 + iMon)
                If rngAbgbH.Value >= rngMon.Value Then
                    rngAbgbH.Value = rngAbgbH.Value - rngMon.Value
                    rngMon.Value = 0
                Else
                    rngMon.Value = rngMon.Value - rngAbgbH.Value
                    rngAbgbH.Value = 0
                End If
                If rngMon.Value = 0 Then
                    rngMon.ClearContents
                End If
                If rngAbgbH.Value = 0 Then
                    rngAbgbH.ClearContents
                    Exit For
                End If
            Next
        End If
    Next
End Sub
	Kurze Erläuterung: 
	Es werden alle Einträge Zeilenweise durchlaufen. 
	Der Name wird nicht ausgewertet. Die Auswertung beginnt in Spalte B. Solange hier ein Wert steht, werden die Monate (Spalte C bis N) durchlaufen. Wenn im Monats-Eintrag eine Zahl enthalten ist, wird dieser Wert um den Wert in Spalte B reduziert. Gleichzeitig wird der Wert in Spalte B ebenfalls korrigiert. 
	Das Ganze läuft solange, bis entweder alle 12 Monate durchlaufen sind oder in Spalte B ein Wert 0 aufweist. 
	Sobald in B oder C bis N ein Wert 0 enthalten ist, wird der Inhalt gelöscht. 
	Alternativ könnten auch die 0-Werte stehen gelassen und lediglich mit einer "Bedingten Formatierung" ausgeblendet werden: 
	Es wird angenommen, dass die Tabelle max. 4000 Einträge beinhalten kann: 
	Bedingung: =B1:N4000=0 
	Formatierung: Zahlenformat: ;;; 
	Info: Durch Zuweisen des Zahlenformats ";;;" wird der Inhalt ausgeblendet. 
	LG, Ben 
     |