Kriterien Autofilter von anderem Blatt übernehmen

Bild

Betrifft: Kriterien Autofilter von anderem Blatt übernehmen
von: Herman
Geschrieben am: 11.06.2015 15:01:53

Hallo,
folgendes: Ich habe zwei Arbeitsblätte. Ein Arbeitsblatt dient mehr oder weniger als Datenbasis für das zweite Übersichtsblatt.
Der Nutzer soll nun auf dem Übersichtsblatt einen Filter setzen können, welcher automatisch auf das erste Arbeitsblatt angewendet wird.
Arbeitsblatt1 hat 15 Spalten, die Spalten "Selektion1", "Selektion2", "Selektion3" enthalten die relevanten Filterkriterien.
Auf dem Übersichtsblatt habe ich nun ebenfalls die Spalten Selektion 1 - 3 eingefügt.
Der Nutzer soll nun auf dem Übersichtsblatt seine entsprechende Filterung (Autofilter) durchführen. Die Filterauswahl soll allerdings ebenfalls auf dem ersten Arbeitsblatt angewendet werden.
Wie sage ich also dem Autofilter auf dem 1. Arbeitsblatt, dass es als Filterkriterien die Kriterien des 2. Arbeitsblattes nehmen soll?
Geht das überhaupt? Lässt sich mein Problem möglicherweise auch anders lösen?
Danke!
PS: Anbei eine Beispieldatei, um mein Problem etwas zu veranschaulichen (Tabelle1=Datenbasis, Tabelle2=Übersichtsseite)
https://www.herber.de/bbs/user/98151.xlsx

Bild

Betrifft: Kriterien Autofilter von anderem Blatt übernehmen
von: Klexy
Geschrieben am: 11.06.2015 16:37:50
Grobe Richtung:

Sub Filter_vom_anderen_Blatt_übernehmen()
Dim Krit1 As String, Krit2 As String, Krit3 As String
    Sheets("Tabelle2").Select
    Krit1 = Sheets("Tabelle2").AutoFilter.Filters(1).Criteria1
    Krit2 = Sheets("Tabelle2").AutoFilter.Filters(2).Criteria1
    Krit3 = Sheets("Tabelle2").AutoFilter.Filters(3).Criteria1
    Sheets("Tabelle1").Select
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=1, Criteria1:=Krit1
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=2, Criteria1:=Krit2
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=3, Criteria1:=Krit3
End Sub


Bild

Betrifft: AW: Kriterien Autofilter von anderem Blatt übernehmen
von: Herman
Geschrieben am: 12.06.2015 07:52:10
Super, Danke!
Allerdings funktioniert der Code nur tadellos, wenn überall ein Filter gesetzt wurde (In Selektion1,2 und 3) es soll aber auch möglich sein, beispielsweise nur in einer Selektion zu filtern. Derzeit erhalte ich den Fehler 1004 "Anwendungs- oder objektorientierter Fehler" in der jeweiligen Zeile, wo kein Kriterium gefiltert wurde.

Bild

Betrifft: Kriterien Autofilter von anderem Blatt übernehmen
von: Klexy
Geschrieben am: 12.06.2015 09:42:42
Dann muss man das mit IF abfangen:

Sub Filter_vom_anderen_Blatt_übernehmen()
Dim Krit1 As Variant, Krit2 As Variant, Krit3 As Variant
    Sheets("Tabelle2").Select
    
    If Sheets("Tabelle2").AutoFilter.Filters(1).On = 0 Then
        Krit1 = Null
    Else
        Krit1 = Sheets("Tabelle2").AutoFilter.Filters(1).Criteria1
    End If
    
    If Sheets("Tabelle2").AutoFilter.Filters(2).On = 0 Then
        Krit2 = Null
    Else
        Krit2 = Sheets("Tabelle2").AutoFilter.Filters(2).Criteria1
    End If
    
    If Sheets("Tabelle2").AutoFilter.Filters(3).On = 0 Then
        Krit3 = Null
    Else
        Krit3 = Sheets("Tabelle2").AutoFilter.Filters(3).Criteria1
    End If
    Sheets("Tabelle1").Select
    
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=1, Criteria1:=Krit1
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=2, Criteria1:=Krit2
    ActiveSheet.Range("$A$2:$F2").AutoFilter Field:=3, Criteria1:=Krit3
End Sub


Bild

Betrifft: AW: Kriterien Autofilter von anderem Blatt übernehmen
von: Herman
Geschrieben am: 12.06.2015 10:12:41
Vielen Dank! Das Problem ist nun behoben, allerdings folgt direkt das nächste :( tut mir leid!
Wähle ich in einer Spalte mehr als 1 Kriterium aus (z.B. 2 von 3), filtert er auf Tabelle1 dennoch nur nach dem ersten Kriterium und nicht nach den gewünschten 2. Kannst du mir da vielleicht noch einmal behilflich sein?
Danke im Voraus!

Bild

Betrifft: Kriterien Autofilter von anderem Blatt übernehmen
von: Klexy
Geschrieben am: 12.06.2015 10:37:02
Gleiches Muster mit Criteria2, Criteria3 usw.
Verwende den Makrorekorder, damit du siehst wie es aussieht und pass dann das Makro entsprechend an.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kriterien Autofilter von anderem Blatt übernehmen"