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

Forumthread: Filter anhand von Zellinhalt

Filter anhand von Zellinhalt
06.04.2008 17:33:41
Zellinhalt
Hallo da draußen, :-)
habe folgende Frage an die Ex(cel)perten:
Kann man anstelle der Filterfunktion am Spaltenkopf einen Filter auch durch den Inhalt einer Zelle definieren/auslösen ?
Beispiel:
In Spalte F können folgende Einträge erscheinen:
0 - 1 J.
2 - 3 J.
4 - 6 J.
7 - 13 J.
14 - 17 J.
ab 18 J.
Da die anderen Anwender (Excel-Laien) mit dem Filtern und Enternen der Filter etc. nicht so gut klar kommen, würde ich die Einträge gerne in einer Zelle (z.B. C1) per Drop-down-Menu vorgeben und daneben einen Button "Filtern" setzen - nur weiss ich leider nicht, wie ich diese Filter in VBA hinterlege, um den Button dann damit zu verknüpfen... :-(
Hoffe, Ihr könnt mir helfen !
Vielen Dank u. VG,
Kevin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Filter anhand von Zellinhalt
06.04.2008 18:03:26
Zellinhalt
Hallo Kevin,
geht es nicht auch mit Gültigkeit....
z.b. liste irgendwo anlegen..nach C1 gehen...dann nach Daten-Gültigkeit gehen...dann Zulassen auf Liste ändern....dann Quelle deine Liste eingeben und ok. Dann nur noch alles weiter runter kopieren.
Gruß Uwe

AW: Filter anhand von Zellinhalt
06.04.2008 18:18:06
Zellinhalt
Hallo Uwe,
vielen Dank für deine Antwort ! :-)
Tut mir leid, aber ich verstehe sie nicht so ganz - vielleicht hab ichs nicht so gut formuliert...:
Was ich möchte ist, dass man in einer Zelle (z.B. C1) einen der genannten Einträge auswählen kann (wie ich das mache ist klar) - je nach dieser Auswahl in C1 und ggf. anschließendem Klick auf einen Button ("Filtern") soll dann die ganze Tabelle nach Spalte F entsprechend automatisch gefiltert werden...
Beispiel:
Auswahl "0 - 1 J." in C1 + ggf. Klick auf den "Filtern"-Button = autom. Filtern der Tabelle nach Einträgen in Spalte F mit Inhalt "0 - 1 J." etc.
Nochmals danke u. VG,
Kevin

Anzeige
AW: Filter anhand von Zellinhalt
06.04.2008 18:38:35
Zellinhalt
Hi Kevin,
Ungefähr so (Code in das Tabellenblatt):

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("C1")) Is Nothing Then Exit Sub
If Me.Cells(1, 3) = "" Then
Me.Columns("A:C").AutoFilter
Else
Me.Columns("A:C").AutoFilter Field:=3, _
Criteria1:="=" & ActiveSheet.Cells(1, 3)
End If
End Sub


Anzeige
AW: Filter anhand von Zellinhalt
06.04.2008 18:44:51
Zellinhalt
Hi Renee,
das sieht schon besser aus - danke ! :-)
Wird hier schon nach den entsprechenden Einträgen in Spalte F gefiltert (= die, die der Auswahl in C1 entsprechen) oder muss ich dafür noch etwas anpassen, da F ja die 6. Spalte ist... ? ;-)
Vielen Dank u. VG,
Kevin

Anzeige
AW: Filter anhand von Zellinhalt
06.04.2008 19:23:00
Zellinhalt
Hi Kevin,
Woher soll ich wissen, wie deine Mappe aussieht.
Lad sie halt hoch, wenn du nicht in der Lage bist, den Code anzupassen.
GreetZ Renée

AW: Filter anhand von Zellinhalt
06.04.2008 19:32:00
Zellinhalt
...wer lesen kann ist klar im vorteil...
...von vollpfeifen mit tiernamen werd ich mich grad noch blöd anmachen lassen - geh wieder zurück in das loch, aus dem du gekrochen bist !

Anzeige
ok, no problem (owT)
06.04.2008 19:42:31
Renee

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Filter anhand von Zellinhalt in Excel


Schritt-für-Schritt-Anleitung

  1. Zelle für die Filterauswahl einrichten:

    • Wähle die Zelle (z.B. C1), in der der Benutzer die Filteroption auswählen kann.
    • Gehe zu Daten > Gültigkeit und wähle Liste als Zulassungskriterium.
    • Gib die Werte (z.B. "0 - 1 J.; 2 - 3 J.; 4 - 6 J.; ...") in das Feld Quelle ein.
  2. Button zum Auslösen des Filters erstellen:

    • Füge einen Button in dein Excel-Blatt ein. Gehe zu Entwicklertools > Einfügen und wähle einen Button (Formularsteuerelement) aus.
    • Klicke mit der rechten Maustaste auf den Button, wähle Makro zuweisen und erstelle ein neues Makro.
  3. VBA-Code für das Filtern einfügen:

    • Öffne den VBA-Editor mit ALT + F11 und füge den folgenden Code in das entsprechende Tabellenblatt ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Intersect(Target, Me.Range("C1")) Is Nothing Then Exit Sub
       If Me.Cells(1, 3) = "" Then
           Me.Columns("A:C").AutoFilter
       Else
           Me.Columns("A:F").AutoFilter Field:=6, _
           Criteria1:="=" & ActiveSheet.Cells(1, 3)
       End If
    End Sub
  4. Testen:

    • Wähle einen Wert in C1 aus und klicke auf den Button. Deine Tabelle wird entsprechend gefiltert.

Häufige Fehler und Lösungen

  • Fehler: Der Filter wird nicht angewendet.

    • Überprüfe, ob der VBA-Code im richtigen Tabellenblatt eingefügt wurde.
    • Stelle sicher, dass die Spalte, die gefiltert werden soll, korrekt angegeben ist (Field:=6 für Spalte F).
  • Fehler: Die Filterauswahl wird nicht angezeigt.

    • Vergewissere dich, dass die Datenvalidierung korrekt eingerichtet ist und die Liste die gewünschten Werte enthält.

Alternative Methoden

  • Gültigkeitsprüfung ohne VBA:

    • Du kannst die Filterfunktion auch manuell nutzen, indem du die Filteroptionen direkt im Spaltenkopf auswählst und die gewünschten Werte anklickst.
  • Formeln verwenden:

    • Nutze die Funktion FILTER, um eine dynamische Liste basierend auf der Auswahl in C1 zu erstellen. Dies ist besonders ab Excel 365 möglich.

Praktische Beispiele

  • Beispiel 1: Du möchtest alle Einträge in Spalte F filtern, die "4 - 6 J." entsprechen. Wähle diesen Wert in C1 und klicke auf "Filtern". Die Tabelle zeigt nur die entsprechenden Zeilen an.

  • Beispiel 2: Wenn du eine Liste von Werten in einer anderen Tabelle hast, kannst du die excel filter nach liste Funktion nutzen, um die Filterauswahl dynamisch zu gestalten.


Tipps für Profis

  • Dynamische Filter: Verwende Namen für Bereiche, um die Filteroptionen dynamisch zu halten. So kannst du die Liste einfach erweitern, ohne den VBA-Code anpassen zu müssen.

  • Automatisierung: Nutze den Worksheet_Change-Event, um Filter automatisch zu aktualisieren, wenn sich die Auswahl in der Zelle ändert.


FAQ: Häufige Fragen

1. Kann ich mehrere Filterkriterien verwenden? Ja, du kannst im VBA-Code mehrere Criteria1-Bedingungen hinzufügen, um mehrere Kriterien zu filtern.

2. Wie kann ich den Filter zurücksetzen? Füge eine zusätzliche Schaltfläche hinzu, um den Filter zurückzusetzen, indem du Me.Columns("A:F").AutoFilter ohne Kriterien aufrufst.

3. Funktioniert das auch in älteren Excel-Versionen? Die vorgestellten Methoden und der VBA-Code funktionieren in Excel 2010 und später. In älteren Versionen können sich einige Optionen unterscheiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige