Office: Zusatzfilter für mehrere Einzelfilter

Helfe beim Thema Zusatzfilter für mehrere Einzelfilter in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich bin neu hier und habe mich hier angemeldet, weil ich sowieso alle Lösungen für meine Probleme in Exel immer von eurer Seite hatte, nur für... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von ThomasS, 28. Dezember 2014.

  1. ThomasS Neuer User

    Zusatzfilter für mehrere Einzelfilter


    Hallo, ich bin neu hier und habe mich hier angemeldet, weil ich sowieso alle Lösungen für meine Probleme in Exel immer von eurer Seite hatte, nur für dieses hier bisher keine Lösung gefunden habe, oder zumindest nicht gewusst habe, wie ich danach suche ;)
    Ich habe folgende Tabelle (Die Name der Zellen habe ich für eine Vereinfachung abgeändert):

    Zusatzfilter für mehrere Einzelfilter Tab1.png

    Ich benutze die Filterfunktion auf Zeile 1 und somit lassen sich die einzelnen Spalten auch einwandfrei filtern. Ich möchte aber folgendes:

    Zusatzfilter für mehrere Einzelfilter Tab2.png

    In der zusätzlichen Spalte Farbe sollen die Spalten Farbe1 bis Farbe6 gefiltert werden. D.h. in der Spalte Farbe müssten zuerst einmal im Filter ALLE Farben aus den Spalten Farbe 1 bis Farbe 6 angezeigt werden. Wähle ich nun in der Spalte Farbe z.B weiß aus, sollen alle Zeilen, also alle Mischungen angezeigt werden, in denen weiß vorhanden ist.

    Ist das möglich? Vielen Dank schon mal für die Hilfe.
    Thomas
     
  2. Exl121150 Erfahrener User
    Hallo Thomas,

    du möchtest also, dass in der Spalte "Farbe" (2. Spalte) Filtereinträge von Werten angezeigt werden, die zwar in den Spalten "Farbe1" bis "Farbe6" enthalten sind, aber nicht unbedingt in Spalte "Farbe". Genau das ist leider nicht möglich. Man kann in der Filterliste für Spalte "Farbe" nur Werte anzeigen lassen, die in dieser Spalte auch tatsächlich vorkommen.

    Ich habe dir jedoch eine Ersatzlösung gebastelt. Wenn du das nachfolgende Makro kopierst und in ein allgem.Codemodul im VBA-Editor einfügst, steht dir das Makro "TabellenFilter" zur Verfügung.

    Anwendung des Makros:
    1) Es muss sich um eine sogenannte "Tabelle" handeln bei deinem Zellbereich, dessen Kopfzeile "Name, Farbe, Farbe1, ..., Farbe6" lautet.
    2) In diesem Tabellenbereich markierst du eine Zelle (=aktive Zelle), die den Wert enthält, nach dem du die Tabellenzeilen filtern möchtest.
    3) Dann drückst du die Tastenkombination Alt+F8. Falls in diesem Fenster nur 1 Prozedur aufgelistet ist, kannst du einfach die EINGABE-Taste drücken, um diese (=TabellenFilter) zu starten.
    4) Es werden alle Tabellenzeilen ausgeblendet, die nicht den Wert der markierten Zelle (im Spaltenbereich "Farbe1" bis "Farbe6") enthalten.
    5) Hast du jedoch in 1) eine Zelle markiert, die zu keiner Tabelle gehört, wird eine entsprechende Meldung angezeigt und danach das Makro beendet.
    6) Falls du die Spaltennamen "Farbe1" und "Farbe6" änderst, musst du sie auch im Makro an den gekennzeichneten Stellen ändern!!

    Code:
    Sub TabellenFilter()
       Dim FarbWort$, FarbZelle As Range
       Dim Lst As ListObject, Zeile As ListRow
       Dim Sp1 As Long, SpL As Long, Sp As Long
       Dim ZeileSichtbar As Boolean
    '-----FarbZelle, Tabelle ermitteln:
       Set FarbZelle = ActiveCell
       Set Lst = FarbZelle.ListObject
       If Lst Is Nothing Then
         MsgBox "Die ausgewählte Zelle " & FarbZelle.Address & " gehört zu keiner Tabelle."
         Exit Sub
       End If
       FarbWort$ = FarbZelle.Value
    '-----
       With Lst
          'Spaltennumern der Spalten "Farbe1" und "Farbe6" in der Tabelle ermitteln:
          Sp1 = .ListColumns("Farbe1").Index   '<== Spaltenname eventuell ändern!
          SpL = .ListColumns("Farbe6").Index   '<== Spaltenname eventuell ändern!
          'Testen, in welchen Zeilen der Tabelle die FarbZelle nicht enthalten ist:
          For Each Zeile In .ListRows
            ZeileSichtbar = False
            For Sp = Sp1 To SpL
              If Zeile.Range.Cells(Sp) = FarbWort$ Then ZeileSichtbar = True: Exit For
            Next Sp
            'Falls FarbZelle in dieser Zeile nicht enthalten war: Zeile ausblenden
            .ListRows(Zeile.Index).Range.EntireRow.Hidden = Not ZeileSichtbar
          Next Zeile
       End With
    End Sub
    
     
    Exl121150, 28. Dezember 2014
    #2
Thema:

Zusatzfilter für mehrere Einzelfilter

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden