Schleife bricht nicht ab

14/11/2007 - 11:03 von Frank Vellner | Report spam
Liebe Gruppe,

ich möchte gerne alle Zeilen löschen, die in irgendeiner Zelle ein
bestimmtes Wort enthalten. Das ist sicherlich hier schon gelöst worden,
aber ich finde es einfach nicht.

Nun habe ich verschiedene Varrianten getestet, aber es klappt nicht so
recht. Der letzte Versuch:

If Not Cells.Find("Auto") Is Nothing Then
Do
Cells.Find("Auto").EntireRow.Delete
Loop
End If

Wie gehts richtig?

Viele Grüße
Frank
 

Lesen sie die antworten

#1 Thomas Ramel
14/11/2007 - 11:30 | Warnen spam
Grüezi Frank

"Frank Vellner" schrieb:

ich möchte gerne alle Zeilen löschen, die in irgendeiner Zelle ein
bestimmtes Wort enthalten. Das ist sicherlich hier schon gelöst worden,
aber ich finde es einfach nicht.

Nun habe ich verschiedene Varrianten getestet, aber es klappt nicht so
recht. Der letzte Versuch:

If Not Cells.Find("Auto") Is Nothing Then
Do
Cells.Find("Auto").EntireRow.Delete
Loop
End If

Wie gehts richtig?



Ob so 'richtig' ist sei dahingestellt, aber eine Variante ist zu prüfen ob
der Range beim Finden leer ist oder nicht:


Do Until Cells.Find("Auto") Is Nothing
Cells.Find("Auto").EntireRow.Delete
Loop

Wenn es sehr viele Zeilen sind könntest Du vielleicht noch etwas mehr
Performance hineinbringen.

Sind die Werte als Ganzes in den zellen enthalten oder soll z.B. auch
'Automat' gelsöscht werden?

Gbit es leere Zellen im Bereich?


Mit freundlichen Grüssen

Thomas Ramel (@Web-Interface)
- MVP für Microsoft-Excel -

[Win XP Pro SP-2 / xl2003]

Ähnliche fragen