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

Forumthread: Filter aktualisieren

Filter aktualisieren
08.04.2020 12:16:22
Fred

Guten Tag Excel-Profis,
ich importiere Daten aus einer Mappe in mehrere Tabellenblätter der ausführenden Mappe.
Der relevante Code:
zielrange = ThisWorkbook.Sheets("Center").Range("K20").Text
With Workbooks("mw_d1.xlsm").Worksheets("Stamm")
Set bereich = .Range("A2:DH" & .Cells(.Rows.Count, 1).End(xlUp).Row)
bereich.Copy ThisWorkbook.Worksheets("T_1").Range(zielrange)
End With

Nun sind allerdings die Daten in zB "T_1" gefiltert.
Die Werte aus der Datei "mw_d1.xlsm" werden allerdings so nur angefügt, - die Filterkriterien nicht angewendet.
Der Button "Alle aktualisieren", Register Daten ändert daran nichts.
Meine Frage:
Wie wende ich die zuvor eingestellten Filterkriterien auch an die neu angefügten Werte an?
Ist es mit einer Tastenkombination zu machen,- brauche ich eine Code-Ergänzung ...?
Weis jemand hierfür die Lösung?
Gruß
Fred
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter aktualisieren
08.04.2020 12:31:43
MCO
Hallo Fred!
Excel nimmt die Range, die du angegeben hast.
Füge diese Zeile hinter dem Set bereich ein:
Set bereich= bereich.SpecialCells(xlCellTypeVisible)
um nur sichtbare zellen zu kopieren
Gruß, MCO
AW: Filter aktualisieren
08.04.2020 12:47:19
Fred
Hallo MCO,
ich glaube ich hatte mich nicht klar ausgedrückt.
Die zu kopierenden Daten sind nicht gefiltert.
Die Daten in der Zieltabelle "T_1" sind gefiltert.
Nach dem ein,- anfügen wird der Filter auf die "neuen Werte" nicht angewandt.
Wie korrigiere ich das?
Gruß
Fred
Anzeige
AW: Filter aktualisieren
08.04.2020 13:03:55
MCO
Hallo!
Das liegt daran, dass der Tabellenbereich zum Filter schon festgelegt ist und dieser Bereich dann nicht zum Filterbereich gehört.
Am Besten legst du den Filter noch einmal neu an
Erst löschen:

Range(erstezelle).AutoFilter
Dann neu setzen
Activesheet.range("A1:Xletzte zelle").autofilter field:..... usw.
Gruß, MCO
Anzeige
AW: Filter aktualisieren
08.04.2020 13:56:44
Fred
Hallo MCO,
sorry das meine Antwort etwas länger dauerte,- wurde gerade besucht ...
In meinem Beispiel-Code hatte ich ja nur das einfügen in einem Tabellenblatt (bzw. gefilterte Tabelle) beschrieben. Tatsächlich handelt es sich um 10 gefilterte Tabellen, in denen jeweils die kopierten Daten eingefügt werden.
Das mit dem "neu setzen des Filters" klappt natürlich wenn ich entsprechenden Code einsetze.
Es ist allerdings so, dass die Filterkriterien in jeder gefilterten Tabelle anders sind und das sich diese Kriterien in kurzen Abständen auch ändern .... , dann jedesmal das vba ändern ist auch .....
Gibt es da keinen anderen Lösungs-Ansatz (dass, wenn Daten angefügt werden, die zuvor erstellten Filterkriterien darauf auch angewandt werden)?
Gruß
Fred
Anzeige
AW: Filter aktualisieren
08.04.2020 14:23:04
Fred
Ich habe gerade festgestellt, dass es den Button "Sortieren und filtern / erneut anwenden" gibt. Diese löst mein Problem.
Meine frage nun: Gibt es die Möglichkeit, meinen vba-code entsprechend zu ändern, also per vba für "erneut filtern" zu sorgen?
Gruß
Fred
AW: Filter aktualisieren
08.04.2020 14:27:37
Daniel
Hi
Solche Fragen kann man sich in der Regel leicht mit Hilfe des Makrorecorders schnell und einfach selbst beantworten.
Gruß Daniel
Anzeige
AW: Filter aktualisieren
08.04.2020 14:39:51
Fred
jo, Daniel
mit dem Zusatz
ThisWorkbook.Sheets("T_1").Activate
ActiveSheet.ListObjects("filter_1").AutoFilter.ApplyFilter

wird dies erreicht.
Danke für den "Zaunpfahl" :-)
Gruß
Fred
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Filter in Excel automatisch aktualisieren


Schritt-für-Schritt-Anleitung

  1. Daten einfügen und Filter anwenden
    Wenn Du Daten in ein gefiltertes Tabellenblatt einfügst, werden die Filterkriterien auf die neuen Werte nicht automatisch angewandt. Um dies zu erreichen, kannst Du den folgenden VBA-Code verwenden, um die Filter erneut anzuwenden:

    ThisWorkbook.Sheets("T_1").Activate
    ActiveSheet.ListObjects("filter_1").AutoFilter.ApplyFilter
  2. Sichtbare Zellen kopieren
    Stelle sicher, dass Du nur die sichtbaren Zellen kopierst, um sicherzustellen, dass die Filter korrekt angewendet werden. Füge den folgenden Code nach der Zeile Set bereich ein:

    Set bereich = bereich.SpecialCells(xlCellTypeVisible)
  3. Filter neu setzen
    Wenn Du den Filterbereich ändern musst, kannst Du dies wie folgt tun:

    Range(erstezelle).AutoFilter
    ActiveSheet.Range("A1:XletzteZelle").AutoFilter Field:..... usw.

Häufige Fehler und Lösungen

  • Problem: Der Filter wird nicht auf die neu eingefügten Daten angewendet.
    Lösung: Stelle sicher, dass Du die Sichtbarkeit der Zellen berücksichtigst und die Filterkriterien nach dem Einfügen der Daten erneut anwendest.

  • Problem: Der Filterbereich ist nicht korrekt gesetzt.
    Lösung: Überprüfe, ob der Filterbereich den neuen Bereich abdeckt und setze den Filter gegebenenfalls neu.


Alternative Methoden

  • Shortcut zur Aktualisierung:
    Nutze die Excel-Tastenkombination Alt + D + F + F, um die Filter schnell zu aktualisieren. Dies ist eine praktische Möglichkeit, ohne VBA-Code zu arbeiten.

  • Automatisches Aktualisieren des Autofilters:
    In Excel gibt es die Möglichkeit, den Autofilter automatisch zu aktualisieren, ohne VBA zu verwenden. Setze dazu die entsprechenden Einstellungen in den Excel-Optionen.


Praktische Beispiele

  • Beispiel 1: Einfügen von Daten in ein gefiltertes Blatt und anwenden der Filterkriterien:

    ' Daten einfügen
    zielrange = ThisWorkbook.Sheets("Center").Range("K20").Text
    With Workbooks("mw_d1.xlsm").Worksheets("Stamm")
       Set bereich = .Range("A2:DH" & .Cells(.Rows.Count, 1).End(xlUp).Row)
       bereich.Copy ThisWorkbook.Worksheets("T_1").Range(zielrange)
    End With
    
    ' Filter erneut anwenden
    ThisWorkbook.Sheets("T_1").Activate
    ActiveSheet.ListObjects("filter_1").AutoFilter.ApplyFilter
  • Beispiel 2: Verwenden des Makrorecorders, um den notwendigen Code zu generieren, wenn Du die Filter manuell anwendest.


Tipps für Profis

  • Makro aufzeichnen: Nutze den Makrorecorder, um zu sehen, wie Excel die Filter erneut anwendet. Dies kann Dir helfen, den entsprechenden VBA-Code zu verstehen und anzupassen.

  • VBA optimieren: Überlege, ob Du den Code anpassen kannst, um die Effizienz zu steigern, insbesondere wenn Du mit großen Datenmengen arbeitest.

  • Regelmäßige Backups: Stelle sicher, dass Du regelmäßige Backups Deiner Excel-Dateien machst, insbesondere wenn Du mit VBA arbeitest, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Filter in Excel automatisch aktualisieren ohne VBA?
Du kannst die Filter manuell aktualisieren, indem Du die Shortcut-Tastenkombination Alt + D + F + F verwendest.

2. Welche Tastenkombination kann ich verwenden, um den Filter zu aktualisieren?
Die Tastenkombination Strg + Shift + L kann ebenfalls verwendet werden, um den Autofilter in Excel ein- oder auszuschalten.

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