Excel: Zeilen mit bestimmtem Text löschen – Die vollständige Anleitung
Beim Bereinigen großer Datensätze in Excel kommt es häufig vor, dass ganze Zeilen gelöscht werden müssen, die ein bestimmtes Wort, einen Fehlercode oder einen spezifischen Wert enthalten.
In dieser Anleitung lernen Sie die vier besten Methoden kennen – von der einfachen Filter-Funktion bis hin zur automatisierten Lösung per VBA-Makro.
Methode 1: Zeilen löschen mit der Filter-Funktion (Empfohlen)
Dies ist der schnellste, sicherste und flexibelste Weg für die meisten Anwendungsfälle.
Schritt-für-Schritt-Anleitung:
- Datenbereich markieren: Klicken Sie in Ihre Tabelle oder markieren Sie die gesamte Tabelle mit dem Tastenkürzel
Strg+A. - Filter aktivieren: Gehen Sie im Menüband auf die Registerkarte Daten und klicken Sie auf Filtern (alternativ: Tastenkombination
Strg+Umschalt+L). - Nach dem Text filtern:
- Klicken Sie auf den kleinen Filterpfeil in der Spalte, die den gesuchten Text enthält.
- Geben Sie den Text in das Suchfeld ein oder gehen Sie auf Textfilter > Enthält... und geben Sie das Wort ein.
- Bestätigen Sie mit OK. Jetzt werden nur noch die Zeilen angezeigt, die diesen Text enthalten.
- Gefilterte Zeilen löschen:
- Markieren Sie die angezeigten Zeilenköpfe (die Nummern ganz links).
- Machen Sie einen Rechtsklick auf eine der markierten Zeilennummern und wählen Sie Zeile löschen (oder drücken Sie
Strg+-).
- Filter zurücksetzen:
- Gehen Sie im Menü wieder auf Daten und klicken Sie auf Löschen (neben dem Filtersymbol) oder entfernen Sie den Filter mit
Strg+Umschalt+L.
- Gehen Sie im Menü wieder auf Daten und klicken Sie auf Löschen (neben dem Filtersymbol) oder entfernen Sie den Filter mit
Die Zeilen mit dem Text sind nun verschwunden, während alle anderen Daten erhalten geblieben sind.
Methode 2: Die „Suchen & Auswählen“-Methode (Sehr schnell)
Wenn Sie den Text in einem bestimmten Bereich oder auf dem gesamten Tabellenblatt suchen und die entsprechenden Zeilen sofort entfernen möchten:
Schritt-für-Schritt-Anleitung:
- Drücken Sie
Strg+F, um das Suchfenster zu öffnen. - Geben Sie den gesuchten Text in das Feld Suchen nach: ein.
- Klicken Sie auf die Schaltfläche Alle suchen.
- Drücken Sie im selben Fenster
Strg+A, um alle gefundenen Ergebnisse in der Liste auf einmal zu markieren. - Klicken Sie auf Schließen (die Zellen im Tabellenblatt bleiben dabei markiert).
- Drücken Sie nun die Tastenkombination
Strg+-(Minus-Taste). - Wählen Sie im Dialogfenster die Option Ganze Zeile und klicken Sie auf OK.
Methode 3: Mit Power Query (Die professionelle & dauerhafte Lösung)
Power Query eignet sich hervorragend, wenn Sie denselben Datenexport regelmäßig bereinigen müssen. Das Original bleibt dabei unberührt.
Schritt-für-Schritt-Anleitung:
- Markieren Sie Ihre Daten und wählen Sie Daten > Aus Tabelle/Bereich.
- Es öffnet sich der Power Query-Editor.
- Klicken Sie auf den Filterpfeil in der Spalte mit dem Text.
- Wählen Sie Textfilter > Enthält nicht....
- Geben Sie den Text ein, den Sie entfernen möchten, und bestätigen Sie mit OK.
- Klicken Sie ganz links oben auf Schließen & laden.
Vorteil: Wenn neue Rohdaten hinzukommen, klicken Sie einfach auf Daten > Alle aktualisieren, und die unerwünschten Zeilen werden automatisch wieder gefiltert.
Methode 4: Automatisierung per VBA-Makro (Für große Datenmengen)
Wenn Sie regelmäßig Zeilen anhand eines Textes löschen müssen und dies mit einem Klick erledigen wollen, ist ein VBA-Makro ideal.
Wichtig: Beim Löschen per Makro muss die Schleife immer von unten nach oben laufen, da sich durch das Löschen einer Zeile der Index der nachfolgenden Zeilen verschiebt!
Schritt-für-Schritt-Anleitung:
- Drücken Sie
Alt+F11, um den VBA-Editor zu öffnen. - Klicken Sie im Menü auf Einfügen > Modul.
- Fügen Sie folgenden Code in das Fenster ein:
Sub ZeilenMitTextLoeschen()
Dim ws As Worksheet
Dim LetzteZeile As Long
Dim i As Long
Dim SuchText As String
Dim Spalte As Long
' Einstellungen anpassen:
Set ws = ActiveSheet
SuchText = "LÖSCHEN" ' <-- Hier Ihren Suchtext eintragen
Spalte = 1 ' <-- Spalte A = 1, Spalte B = 2, usw.
' Performance optimieren
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Letzte belegte Zeile ermitteln
LetzteZeile = ws.Cells(ws.Rows.Count, Spalte).End(xlUp).Row
' Schleife von unten nach oben
For i = LetzteZeile To 1 Step -1
If InStr(1, ws.Cells(i, Spalte).Value, SuchText, vbTextCompare) > 0 Then
ws.Rows(i).Delete
End If
Next i
' Performance zurücksetzen
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "Fertig! Zeilen wurden gelöscht.", vbInformation
End Sub
- Passen Sie
SuchTextundSpalteim Code an Ihre Anforderungen an. - Schließen Sie den Editor und führen Sie das Makro über
Alt+F8aus.
Wichtige Tipps & Hinweise
- Backup erstellen: Gelöschte Zeilen (vor allem über Makros oder manche Filter-Aktionen) lassen sich oft nicht mit
Strg+Zrückgängig machen. Speichern Sie vor großen Operationen immer eine Sicherheitskopie der Datei. - Groß-/Kleinschreibung:
- Der Standard-Excel-Filter unterscheidet nicht zwischen Groß- und Kleinschreibung.
- Im VBA-Code steuert der Parameter
vbTextCompare, dass Groß- und Kleinschreibung ignoriert werden (nutzen SievbBinaryCompare, falls Sie exakt filtern möchten).