|  
                                             ok, die Anzahl der Schleifendurchläufe ist 2  
weil For i = lngLetzte To lngLetzte - 2 Step -1 
lngLetzte ist die Zeilennummer der letzten belegten Zeile. Damit fängt die Schleife an und geht  bis zum to-Wert der ist lngLetzte -2  
Du zeigst eine Beispielliste mit mindesens 20 Zeilen, und behauptest das die Schleife 10 Durchläufe hat.  
Du verstehst sicher das ich deshalb etwas skeptisch bin.  Aufgrund der deutlicheren Erklärung komme ich auf diese Lösung.  
Sub werteloeschen()
 
 Dim i As Long
 i = 1
 
 Do While Cells(i, "P").Value >= 0
  i = i + 1
 Loop
  
 Range(Cells(i, "P"), Cells(i, "P").End(xlDown)).ClearContents
 Range(Cells(i, "I"), Cells(i, "I").End(xlDown)).ClearContents
  
End Sub 
  
     |