Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Alle Zeilen löschen außer mit dem Wert "xyz"

Alle Zeilen löschen außer mit dem Wert "xyz"
22.05.2015 15:50:12
Michael
Hallo,
mit folgendem Code lösche ich alle Zeilen wo der Wert "xyz" in der Spalte F vorkommt:
With Columns("F")
Do
Set objCell = .Find(What:="xyz", LookIn:=xlValues, _
LookAt:=xlWhole, MatchCase:=True)
If Not objCell Is Nothing Then
objCell.EntireRow.Delete shift:=xlUp
Else
Exit Do
End If
Loop
Wie müsste ich den Code denn anpassen wenn ich alle Zeilen löschen wollte die nicht "xyz" enthalten? Am besten in einer Range, da er wahrscheinlich auch die Header mit löscht :O
Gruß
Michael

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle Zeilen löschen außer mit dem Wert "xyz"
22.05.2015 16:02:18
Beni
Hallo Michael
Zeilen von unten nach oben löschen
Beni
Sub ohne_xyz_löschen()
LZ = Cells(Rows.Count, 6).End(xlUp).Row ' letzte in Spalte F
For z = LZ To 2 Step -1
If Not Cells(z, 6) = "yxz" Then Rows(z).Delete Shift:=xlUp
Next z
End Sub

Anzeige
AW: Alle Zeilen löschen außer mit dem Wert "xyz"
22.05.2015 16:40:08
Michael
Dein Code funktioniert. Vielen Dank an dieser Stelle!
Gruß
Michael

AW: Alle Zeilen löschen außer mit dem Wert "xyz"
22.05.2015 16:07:29
Daniel
Hi
Zeilen per schleife zu löschen ist ziemlich langsam und aufwendig.
seit Excel 2007 gibts ein einfaches und sehr schnelles Verfahren, um Zeilen mit Bedinung zu löschen:
DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN
damit man das zum Löschen von Zeilen verwenden kann, muss man nur am Tabellenende eine Formel einfügen, die alle Zeilen, die stehen bleiben sollenn mit der aktuellen Zeilennummer kennzeichnet und alle die gelöscht werden sollen mit 0.
dann schreibt man noch in die Überschriftenzeile ebenfalls die 0 und kann dann die Funktion anwenden.
Dadurch dass man die zu löschenden Zeilen per Formel bestimmt, hat man einen sehr grossen Freiraum bei den Löschbedingungen
In deinem Fall würde der Ersatz für den gezeigten code so aussehen:
With ActiveSheet.UsedRange
With .columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(RC6=""xyz"",0,Row())"
.Cells(1, 1) = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End With
End With
den Code kanns du so standarmäßig verwenden, wenn ich die Löschbedingungen ändern musst du nur die Formel anpassen.
In deinem Fall dann: "=IF(RC6=""xyz"",Row(),0)", einfach WAHR- und FALSCH-Teil der Wenn-Funktion tauschen.
die erste Zeile (Überschrift) bleibt bei dieser Methode immer stehen.
Gruß Daniel

Anzeige
AW: Alle Zeilen löschen außer mit dem Wert "xyz"
22.05.2015 16:40:34
Michael
Vielen Dank für deine Anregung!
Gruß
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige