Excel 2007 Löschen von Zeilen mit bestimmten Wert

Hallo,

ich bin Anfänger bei VBA und hoffe auf eure Hilfe.
Ich möchte eine ganz einfach Sache zumlaufen bringen. :smile:

Ich habe mehrere Spalten in Excel 2007 mit diversen Werten, z.B.:

BA LO Menge
20 1001 200
10 1 12
30 245 67
50 1 400
30 1 46
10 1001 1000

Nun möchte ich, dass mein Makro durch alle Zeilen geht (die Auswertung fahre ich sehr oft, und es sind jedes mal unterschiedlich viele Zeilen) und jedes mal, wenn in der zweiten Spalte eine 1001 kommt soll er die komplette Zeile löschen (ohne Leerzeilen).

Ich habe mich einmal probiert:

Range(„B:B“).Select
For Each Cell In Selection
If Cell.Value = „1001“ Then
Cell.EntireRow.Delete
Next

Ich möchte aber von hinten anfangen (also Zeile 5478) damit Zeilen nicht übersprungen werden.

Kann mir hier jemand bitte helfen?

PS.Ich möchte nicht mit Filter arbeiten.

Vielen Dank
brummel

Nun möchte ich, dass mein Makro durch alle Zeilen geht (die
Auswertung fahre ich sehr oft, und es sind jedes mal
unterschiedlich viele Zeilen) und jedes mal, wenn in der
zweiten Spalte eine 1001 kommt soll er die komplette Zeile
löschen (ohne Leerzeilen).
Ich möchte aber von hinten anfangen (also Zeile 5478) damit
Zeilen nicht übersprungen werden.

Hallo brummel,

beim Löschen oder Zeilen einfügen geht man oft von unten nach oben weil dann die Zeilenmitzählung viel einfacher ist.

Sub Test()
Dim Zei As Long
Application.ScreenUpdating = False
For Zei = Range(Rows.Count, 2).End(xlUp).Row To 1 Step -1
 If Cells(Zei, 2).Value = "1001" Then Rows(Zei).Delete
Next Zei
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard

Vielen Dank.

Klappt super.

PS.: Musste nur noch das Range durch Cells austauschen.

Schöne Ostern wünsch ich.