Autofilter - mehrere bedingungen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Autofilter - mehrere bedingungen
von: Sven
Geschrieben am: 07.09.2015 13:45:59

Hi zusammen,
ich hänge und hofe auf Hilfe.
Per VBA möchte ich meine Tabelle filtern.
Mit einem kriterium funktioniert das gut, ledier weiß ich nicht wie cih die Abhängigkeit von mehreren filtern umsetzen kann.
Hier mein Code soweit:

Private Sub Suche_2_Enter_Click()
Dim Var1, Var2, Var3, Var4, Var5, Var6, Var7, Var8, Var9 As Variant
With Worksheets("Tabelle2")
    If Auswahl_PCIe.Value = True Then
        Var1 = "PCIe"
        Selection.autofilter
           ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=12, Criteria1:=Var1
        Else
        
    End If
   If Auswahl_SATA.Value = True Then
        Var2 = "SATA"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=12, Criteria1:=Var2
        Else
        
    End If
    
    If Auswahl_SAS.Value = True Then
        Var3 = "SAS"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=12, Criteria1:=Var3
        Else
        
    End If
    If Auswahl_M2.Value = True Then
        Var4 = "M.2"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=14, Criteria1:=Var4
        Else
        
    End If
    
    If Auswahl_Enterprise.Value = True Then
        Var5 = "Enterprise"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=18, Criteria1:=Var5
        Else
       
    End If
    
    If Auswahl_AIC.Value = True Then
        Var6 = "AIC"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=14, Criteria1:=Var6
        Else
       
    End If
    
    If Auswahl_NVMe.Value = True Then
        Var7 = "Yes"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=13, Criteria1:=Var7
        Else
        
    End If
    
    If Auswahl_Client.Value = True Then
        Var8 = "Client"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=18, Criteria1:=Var8
        Else
        
    End If
    
    If Auswahl_Industrie.Value = True Then
        Var9 = "Industrie"
        Selection.autofilter
            ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=18, Criteria1:=Var9
        Else
        'Selction.autofilter
        '    ActiveSheet.Range("$A$3:$AU$9").autofilter Field:=18
    End If
    
    
End With
End Sub
Solange nur ein Kriterium greift, kein Problem. Zum Beispiel, wenn ich nach "Client" filter habe ich 4 Ergebnisse - zudem möchte ich aber noch nach "PCIe" oder "SATA" filtern. Es bleiben jedoch alle filter Ergebnisse stehen die bereits mit "Client" gefiltert wurden.
Für Hilfe wäre ich sehr dankbar.
Gruß
Sven

Bild

Betrifft: AW: Autofilter - mehrere bedingungen
von: ChrisL
Geschrieben am: 07.09.2015 14:40:44
Hi Sven
Nachfolgend zwei "Ansätze" zum weiter basteln.
Beispiel 1:
Zwei unterschiedliche Felder, aber mit vereinfachtem Code.

Private Sub CommandButton1_Click()
With Worksheets("Tabelle2")
    .Range("A1:D5").AutoFilter
    If CheckBox1 Then .Range("A1:D5").AutoFilter Field:=1, Criteria1:="x"
    If CheckBox2 Then .Range("A1:D5").AutoFilter Field:=2, Criteria1:="y"
End With
End Sub

Beispiel 2:
Zwei unterschiedliche Kriterien im gleichen Feld.
Private Sub CommandButton1_Click()
Dim Var1 As String, Var2 As String
With Worksheets("Tabelle2")
    .Range("A1:D5").AutoFilter
    If CheckBox1 Then Var1 = "x"
    If CheckBox2 Then Var2 = "y"
    .Range("A1:D5").AutoFilter Field:=1, Criteria1:=Var1, Operator:=xlOr, Criteria2:=Var2
End With
End Sub
cu
Chris

Bild

Betrifft: AW: Autofilter - mehrere bedingungen
von: Sven
Geschrieben am: 08.09.2015 10:55:09
Hi Chris,
vielen Dank für die Hilfestellung. Dein Code macht was er soll.
Ich glaube aber ich muss gänzlich umdenken, 12 Bedingungen per Checkbox und es wird sehr umständlich.
Aber trotzdem Danke, damit kann ich weiterarbeiten :)
Gruss
Sven

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Autofilter - mehrere bedingungen"