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

Forumthread: Alle herausgefilterten Zeilen löschen

Alle herausgefilterten Zeilen löschen
10.03.2020 10:28:39
before
Hallo zusammen,
hoffe ihr könnt mir nochmals helfen.
Und zwar möchte ich alle Zeilen in einer Tabelle die nach einer Filterung angezeigt werden löschen.
Hier ist mein Ansatz:
Sub AutofilterLoeschen()
Sheets("Tabelle1").Select
If ActiveSheet.FilterMode Then
With ActiveSheet.AutoFilter.Range.Offset(1)
.Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).EntireRow.Delete _
shift:=xlUp
End With
End If
End Sub

Das funktioniert auch soweit. Wenn ich diesen Befehl jedoch in einem anderem
Sub unterbringen bzw auf eine andere Tabelle beziehen will kommt die Fehlermeldung " _
Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt".
Markiert wird die Zeile "With ActiveSheet.AutoFilter.Range.Offset(1)".
Kann mir da jemand weiterhelfen?
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle herausgefilterten Zeilen löschen
10.03.2020 10:47:34
Torsten
Hallo,
dann benutze statt ActiveSheet den Blattnamen, also z.B.:
Sheets("Tabelle1").AutoFilter.......

Gruss Torsten
AW: Alle herausgefilterten Zeilen löschen
10.03.2020 10:47:51
Werner
Hallo,
Sub AutofilterLoeschen()
With Worksheets("Tabelle1")
If .FilterMode Then
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).EntireRow.Delete
End With
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Alle herausgefilterten Zeilen löschen
10.03.2020 11:43:52
before
Vielen Dank!
Irgendwie klappt es jedoch noch nicht so ganz.
Wenn ich den Filter per Hand setze und dann dein Makro ausführe klappt es perfekt!
Wenn ich das Makro jedoch in eine anderes einfüge welches meine Tabelle filtert (also nicht händisch filtere) bekomme ich die gleiche Fehlermeldung wieder...
Anzeige
AW: Alle herausgefilterten Zeilen löschen
10.03.2020 11:57:22
Werner
Hallo,
und was soll ich jetzt dazu sagen, ohne dass ich "Dein anderes Makro" kenne?
Gruß Werner
AW: Alle herausgefilterten Zeilen löschen
10.03.2020 13:21:13
before
Ja den Beitrag hätte ich mir vermutlich sparen können.
Hab ein bisschen rumprobiert und es hinbekommen.
Danke nochmal für die Unterstützung!
Gerne u. Danke für die Rückmeldung. o.w.T.
11.03.2020 12:44:26
Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Alle herausgefilterten Zeilen löschen in Excel


Schritt-für-Schritt-Anleitung

Um alle herausgefilterten Zeilen in Excel zu löschen, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf "Einfügen" und dann auf "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub AutofilterLoeschen()
        With Worksheets("Tabelle1")
            If .FilterMode Then
                With .AutoFilter.Range
                    .Offset(1).Resize(.Rows.Count - 1).EntireRow.Delete
                End With
            End If
        End With
    End Sub
  4. Ändere "Tabelle1" zu dem Namen deiner Tabelle, wenn nötig.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Gehe zu "Entwicklertools" > "Makros", wähle AutofilterLoeschen und klicke auf "Ausführen".

Jetzt solltest du alle gefilterten Zeilen gelöscht haben!


Häufige Fehler und Lösungen

  • Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt: Dieser Fehler tritt auf, wenn das Makro auf eine Tabelle zugreifen möchte, die nicht gefiltert ist. Stelle sicher, dass der Filter aktiv ist, bevor du das Makro ausführst.

  • "Zellen in einem gefilterten Bereich oder in einer gefilterten Tabelle können nicht verschoben werden": Dies geschieht, wenn du versuchst, Zellen aus einem gefilterten Bereich zu löschen. Stelle sicher, dass du nur mit sichtbaren Zellen arbeitest.


Alternative Methoden

  1. Manuelles Löschen: Du kannst gefilterte Zeilen manuell löschen, indem du den Filter aktivierst, die Zeilen auswählst und dann mit der rechten Maustaste auf "Löschen" klickst.

  2. Excel 365 Funktionen: In Excel 365 kannst du die Funktion FILTER verwenden, um nur die gewünschten Daten anzuzeigen und dann die nicht benötigten Daten zu löschen.

  3. Spezialfilter: Nutze den Spezialfilter in Excel, um gezielt nur die relevanten Zeilen zu filtern und diese dann zu löschen.


Praktische Beispiele

  • Beispiel 1: Wenn du eine Liste von Verkäufen hast und nur die Zeilen mit Verkäufen über 1000 Euro sehen möchtest, filtere die Liste und führe dann das Makro aus, um alle anderen Zeilen zu löschen.

  • Beispiel 2: In einer Tabelle mit Bewerbungen kannst du die Zeilen für abgelehnte Kandidaten herausfiltern und mit dem Makro alle herausgefilterten Zeilen löschen.


Tipps für Profis

  • Verwende die Entwicklertools: Wenn du regelmäßig mit Makros arbeitest, aktiviere die Entwicklertools in der Excel-Menüleiste für einen schnelleren Zugriff.

  • Speichere deine Arbeit: Bevor du das Makro ausführst, speichere deine Arbeit, um Datenverlust zu vermeiden.

  • Teste das Makro in einer Kopie deiner Datei, bevor du es auf deine Hauptdatei anwendest, um sicherzustellen, dass es wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich gefilterte Zeilen in Excel 2016 löschen? Du kannst das gleiche VBA-Makro verwenden, um gefilterte Zeilen in Excel 2016 zu löschen. Die Vorgehensweise bleibt gleich.

2. Was passiert, wenn ich das Makro auf eine nicht gefilterte Tabelle anwende? Wenn du das Makro auf eine nicht gefilterte Tabelle anwendest, wird es keine Zeilen löschen, da der Filter nicht aktiv ist. Achte darauf, dass der Filter gesetzt ist, bevor du das Makro ausführst.

3. Kann ich nur sichtbare Zellen löschen? Ja, das VBA-Makro löscht nur die sichtbaren (gefilterten) Zeilen, sodass keine nicht gefilterten Zeilen betroffen sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige