Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife um viele Zeilen anhand bestimmter Werte zu löschen

Forumthread: Schleife um viele Zeilen anhand bestimmter Werte zu löschen

Schleife um viele Zeilen anhand bestimmter Werte zu löschen
01.07.2024 12:43:33
Friedhelm
Hallo, benötige leider ein wenig Unterstützung.

Ich möchte gerne in einer Excel-Tabelle alle Zeilen löschen, in denen in Spalte A der Wert "Löschen" steht.
Sollte ja grundsätzlich nicht das Problem sein - dachte ich ...

Habe das wie folgt gelöst - Problem ist aber, dass er nur bis zu 5 Zeilen löscht und den Rest eben nicht. Woran kann das liegen ?

Sub Zeileloeschen()
Dim cell As Range
For Each cell In Range("A:A")
If cell.Value = "*Löschen*" Then
cell.EntireRow.Delete
Range("A4").Select
End If
Next cell
End Sub

...und hier die Exceldatei, um die es geht:
Userbild

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife um viele Zeilen anhand bestimmter Werte zu löschen
01.07.2024 12:48:53
Onur
dim z

for z=1000 to 1 step -1
if cells(z,1)="Löschen" then cells(z,1).entirerow.delete
next z
AW: Schleife um viele Zeilen anhand bestimmter Werte zu löschen
01.07.2024 12:56:34
daniel
Hi
sind die "*" teil des Textes oder sollen sie Joker sein, weil du mit "Enthält Löschen" die Zeilen identifizieren willst?
beim Vergleich mit "=" sind keine Joker möglich, hier ist der "*" normaler Text.
Willst du mit Jokern arbeiten, dann musst du den Vergleich mit LIKE machen.
nächstes Problem beim Löschen von Zeilen ist, dass wenn man dabei von oben nach unten durchgeht, die Zeilen nach der gelöschten Zeile um 1 nach oben rutschen, währen der Schleifenzähler eins weiter geht, damit wird immer wieder eine Zeile übersprungen, wenn mehrere zu löschende Zeilen direkt aufeinander folgen.

ich würde hier etwas anders vorgehen:
1. ersetze das "Löschen" durch eine Zahl (1).
2. selektiere jetzt alle Zeilen mit einer Zahl als ganzen Block (Excel kann das) und lösche dann diesen:

Columns(1).Replace "Löschen", 1, xlpart 

If Worksheetfunction.Sum(Columns(1)) > 0 then Columns(1).SpecialCells(xlcelltypeconstants, 1).entirerow.delete

Gruß Daniel
Anzeige
AW: Schleife um viele Zeilen anhand bestimmter Werte zu löschen
01.07.2024 12:53:28
Onur
Löschen nur von unten nach oben - weil:
Sonst wird z.B. Zeile 1 gelöscht, Zeile 2 rutscht hoch und wird zur neuen Zeile1. Wird aber übersprungen und es geht mit Zeile 2 weiter, die früher Zeile 3 war. Usw usw.
AW: Schleife um viele Zeilen anhand bestimmter Werte zu löschen
01.07.2024 13:25:41
Friedhelm
Vielen Dank für die schnellen Rückmeldungen. Das hat super geklappt ... :)
Gerne !
01.07.2024 13:26:27
Onur
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige