367 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

haben einen Code, der innerhalb einer Datenreihe bestimmte Zeilen löscht, wenn eine Bedingung "S" erfüllt ist:
j = 0
For i =1+ 1 To 50- j
If Cells(i, 2) <> "S" And i <= iRowEnde - j Then
Rows(i).Delete shift:=xlUp
j = j + 1
i = i - 1
End If

Next i


Der Code soll am Anfang die Zeilen 1-50 durchlaufen, da durch das Löschen sich die Zeilenzahl reduziert, muß sich auch die 50 entsprechend reduzieren s.code oben. Allerdings komme ich damit nicht mehr aus der Schleife raus....
Hat jemand einen Tipp?
Danke und Gruß A.

2 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Andreas,

fange beim Löschen von Zeilen immer von hinten an.

For i = 50 to 1 Step -1
If Cells(i, 2) <> "S" Then Rows(i).Delete shift:=xlUp
Next i


Gruß

M.O.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

passt natürlich! Danke. Wenn ich dich und die anderen nicht hätte.....?
VG A.
...