Guten Abend,
ich möchte in einer Tabelle nach unterschiedlichen Kriterien in Spalte 1 filtern und die gefilterten Zeilen in ein anderes Tabellenblatt einfügen.Nachdem ich gemerkt habe, dass der AutoFilter nur max. zwei Kriterien zulässt, habe ich einen Mittelweg aus meinem und einer Array-Variante aus dem Internet für das erste Filtern geschrieben.
Mein Code sieht bisher so aus:
ActiveSheet.Range("A5:Z400").AutoFilter
'Erstes Filtern
Dim rng As Range
Dim lngCount As Long
Dim arrCrit() As String
lngCount = 3
ReDim arrCrit(0 To lngCount - 1)
arrCrit(0) = "Q0*"
arrCrit(1) = "FLG"
arrCrit(2) = "SG"
Set rng = ActiveSheet.Range("A5:Z400")
rng.AutoFilter Field:=1, _
Criteria1:=arrCrit(), _
Operator:=xlFilterValues
ActiveSheet.Range("A6:Z400").Copy Destination:=Worksheets("Liste").Cells(last, 1)
ActiveSheet.Range("A5:Z400").AutoFilter
last = Worksheets("Liste").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Zweites Filtern
If CheckBox_a1 = True Then ActiveSheet.Range("A5:Z400").AutoFilter 1, "*SSa1"
If CheckBox_a2 = True Then ActiveSheet.Range("A5:Z400").AutoFilter 1, "*SSa2"
If CheckBox_b1 = True Then ActiveSheet.Range("A5:Z400").AutoFilter 1, "*SSb1"
If CheckBox_b2 = True Then ActiveSheet.Range("A5:Z400").AutoFilter 1, "*SSb2"
ActiveSheet.Range("A6:Z400").Copy Destination:=Worksheets("Liste").Cells(last, 1)
ActiveSheet.Range("A5:Z400").AutoFilter
Mein Problem ist zum einen, dass beim ersten Filter das arrCrit(0) nicht funktioniert. Die anderen beiden werden gefiltert und erscheinen auch in meiner Liste. Zum anderen ergeben sich Probleme bei einer Mehrauswahl der Checkboxen im zweiten Filterversuch. Brauche ich hier eine Oder-Verknüpfung?
Bei den Kriterien Q0, SSa1, SSa2, SSb1 und SSb2 wollte ich mit dem Sternchen die Zeichen davor/danach berücksichtigen.
Ich bin wirklich für jede Hilfe dankbar!
Mit lieben Grüßen
Josi
|