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

Forumthread: Autofilter an anderer Stelle

Autofilter an anderer Stelle
18.05.2015 11:56:26
Thomas
Hallo zusammen,
kann man den Autofilter an einer anderern Stelle bzw. in einem anderen Tabellenblatt darstellen?
Schöne Grüße
Thomas

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nein...oder bitte genauere Anforderung! (owT)
18.05.2015 13:46:21
EtoPHG

AW: Autofilter an anderer Stelle
18.05.2015 13:47:46
Michael
Hallo Thomas!
den Autofilter an einer anderern Stelle darstellen
Wenn Du damit meinst, dass die Ergebnisse eines gesetzten AutoFilters, also eine entsprechend gefilterte Liste/Tabelle an anderer Stelle dargestellt werden, ja. Es ist zB möglich
- die gefilterte Liste/Tabelle zu kopieren und anderswo einzufügen (ohne die ausgeblendeten Datensätze)
- die gefilterte Liste/Tabelle als Bild zu kopieren und anderswo einzufügen
Evtl. suchst Du aber eine Funktionalität, wie sie eine PivotTabelle bietet - hier lässt sich nach Filtern der PivotTabelle mit Doppelklick auf ein Wertfeld in einem separaten (neuen) Tabellenblatt darstellen, welche Datensätze zu diesem Wertfeld gehören.
Evtl. gibst Du ein paar mehr Details Deiner konkreten Aufgabenstellung bzw. eine Beispieltabelle (anonymisiert, schematisch, mit Ausgangssituation und Zielsituation) preis, dann können wir besser verstehen worum es Dir geht, und konkreter helfen.
LG
Michael

Anzeige
AW: Autofilter an anderer Stelle
18.05.2015 13:59:46
Thomas
Hallo,
ich habe eine Beispieldatei angehängt.
In Tabelle2 sind Datensätze. In Tabelle1 habe ich Liste-Felder. Entsprechend den Liste-Felder sollen die Datensätze in Tabelle2 gefiltertert werden.
https://www.herber.de/bbs/user/97698.xlsx
Vielen Dank für eure Hilfe
Thomas

Anzeige
AW: Autofilter an anderer Stelle
18.05.2015 14:21:17
Michael
Hallo Thomas!
Danke für die Beispieldatei - das ist (zumindest für mich) nun eine ganz andere Aufgabenstellung, als bei Deinem ersten Beitrag.
Was Du nun erreichen möchtest, ist die Kriterien für den AutoFilter in einem anderen Tabellenblatt anzugeben. Das ist über VBA möglich, zB so:
In ein allgemeines Modul
Sub Tab2Filtern()
If Worksheets("Tabelle2").AutoFilterMode = True Then
Worksheets("Tabelle2").AutoFilterMode = False
End If
With Worksheets("Tabelle2").Range("A1").CurrentRegion
.AutoFilter Field:=3, Criteria1:=Tabelle1.Range("C3").Value
.AutoFilter Field:=4, Criteria1:=Tabelle1.Range("B3").Value
End With
End Sub
Ist nun einmal als Beispiel gedacht - wichtig ist v.a., dass Deine Datentabelle (Tabellenblatt 2) auch im echten Zustand keine Leerzeilen/-spalten enthält; sonst greift das "CurrentRegion" falsch, dann muss ein anderer Code her.
Kommst Du damit hin?
LG
Michael

Anzeige
AW: Autofilter an anderer Stelle
18.05.2015 14:30:04
Thomas
Hallo Michael,
danke, genau so habe ich es gesucht. Allerdings enthält meine Tabelle Leerzeilen. Kannst du mir den Code dafür anpassen?.
Grüße
Thomas

AW: Autofilter an anderer Stelle
18.05.2015 14:38:04
Rudi
Hallo,
Allerdings enthält meine Tabelle Leerzeilen.
Leerzeilen haben in Listen nichts zu suchen.
Gruß
Rudi

Anzeige
AW: Autofilter an anderer Stelle
18.05.2015 15:03:59
Michael
Hallo Thomas!
Wie Rudi geschrieben hat (besser kann ich's keinesfalls formulieren): Leerzeilen haben in Listen nichts zu suchen. Du kannst Dich diesbezüglich auch einmal hier schlau machen: http://www.online-excel.de/excel/singsel.php?f=52
Es ist wesentlich weniger Aufwand (auch in der Wartung) wenn Du Dir zunächst Deine Liste "sauber" herrichtest, als einen Code zu schreiben, der auf diverse "Listensünden" (zB Leerzeilen) Rücksicht nimmt.
Zeig evtl. nochmal einen Auszug Deiner echten Daten her (nur die Struktur ist hier interessant, die Daten an sich können anonym oder zufällig sein) - dann schau ich gerne nochmal drüber.
Mein sonst greift das "CurrentRegion" falsch, dann muss ein anderer Code her hat im Grunde meine Ausführungen hier inbegriffen ;-).
LG
Michael

Anzeige
AW: Autofilter an anderer Stelle
18.05.2015 15:48:53
Thomas
Hallo Michael,
ich werde so verfahren, dass ich meine Liste "Excelkoform" mache.
Vielen Dank für deine Mühe!
Grüße
Thomas

Gerne, Danke für die Rückmeldung, viel Erfolg. owT
18.05.2015 16:19:01
Michael
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Autofilter an anderer Stelle steuern


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in Tabelle2 gut strukturiert sind und keine Leerzeilen oder -spalten enthalten. Dies ist wichtig, da der Befehl CurrentRegion.AutoFilter nur korrekt funktioniert, wenn die Daten zusammenhängend sind.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul hinzufügen: Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Code einfügen: Füge den folgenden VBA-Code in das Modul ein, um den Autofilter aus einem anderen Tabellenblatt zu steuern:

    Sub Tab2Filtern()
       If Worksheets("Tabelle2").AutoFilterMode = True Then
           Worksheets("Tabelle2").AutoFilterMode = False
       End If
       With Worksheets("Tabelle2").Range("A1").CurrentRegion
           .AutoFilter Field:=3, Criteria1:=Tabelle1.Range("C3").Value
           .AutoFilter Field:=4, Criteria1:=Tabelle1.Range("B3").Value
       End With
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um den Filter anzuwenden. Du kannst dies über Entwicklertools > Makros tun.


Häufige Fehler und Lösungen

  • Fehler: AutoFilterMode funktioniert nicht: Stelle sicher, dass Deine Daten in Tabelle2 keine Leerzeilen oder -spalten enthalten. Dies kann dazu führen, dass CurrentRegion nicht korrekt funktioniert.

  • Fehler: Filter zeigt keine Ergebnisse: Überprüfe, ob die Zellen in Tabelle1, auf die Du dich beziehst (z.B. C3 und B3), tatsächlich Werte enthalten, die in Tabelle2 vorhanden sind.

  • Lösung: Datenbereinigung: Entferne Leerzeilen in Deinen Daten. Dies kannst Du manuell tun oder durch das Verwenden von Excel-Funktionen wie FILTER oder SORTIEREN.


Alternative Methoden

  • PivotTables: Wenn Du die Filterergebnisse an einer anderen Stelle darstellen möchtest, kannst Du auch PivotTables verwenden. Diese bieten eine flexiblere Möglichkeit, Daten zu filtern und in separaten Tabellenblättern darzustellen.

  • Formeln verwenden: Du kannst auch INDEX und VERGLEICH verwenden, um eine gefilterte Liste in ein anderes Tabellenblatt zu übertragen, indem Du die Kriterien manuell angibst.


Praktische Beispiele

Angenommen, Du hast eine Liste von Verkaufsdaten in Tabelle2 und möchtest diese nach dem Verkäufer filtern, der in Tabelle1 angegeben ist.

  1. Tabelle1: In Zelle C3 ist der Name des Verkäufers.
  2. Tabelle2: Enthält die Verkaufsdaten, die Du filtern möchtest.
  3. Der oben angegebene VBA-Code filtert die Verkäufe basierend auf dem Namen des Verkäufers in C3.

Du kannst die gefilterte Tabelle anschließend in ein neues Tabellenblatt kopieren, indem Du die gefilterte Auswahl markierst, kopierst und dann in das Zielblatt einfügst.


Tipps für Profis

  • Automatisierung: Du kannst den Filtervorgang automatisieren, indem Du das Makro an ein Steuerelement (z.B. Button) in Deiner Arbeitsmappe bindest.

  • Dynamische Filter: Erstelle Dropdown-Listen in Tabelle1, um die Filterkriterien dynamisch zu ändern, ohne den VBA-Code anpassen zu müssen.

  • Datenvalidierung: Nutze die Datenvalidierungsfunktion von Excel, um sicherzustellen, dass nur gültige Werte zur Filterung verwendet werden.


FAQ: Häufige Fragen

1. Kann ich den Autofilter ohne VBA verwenden? Ja, Du kannst den Autofilter direkt in Excel verwenden, indem Du die Filterfunktion in der Menüleiste aktivierst. Allerdings kannst Du nicht den Filter aus einem anderen Tabellenblatt steuern.

2. Was mache ich, wenn meine Daten Leerzeilen enthalten? Es ist empfehlenswert, die Leerzeilen zu entfernen. Du kannst dazu die Funktion "Daten bereinigen" verwenden oder manuell die Zeilen löschen.

3. Wie kann ich gefilterte Daten in ein anderes Tabellenblatt kopieren? Markiere die gefilterten Daten, kopiere sie (STRG + C) und füge sie in das Zielblatt ein (STRG + V). Achte darauf, dass nur die sichtbaren Zellen kopiert werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige