ich hätte da ein Frage bzw. suche eine Lösung eines Problems via Makro.
zum Filtern mehrerer Kriterien via Makro hab ich dieses via array wie auch der Makro Rekorder es ausspuckt:
Sub Filtern ()
Sheets("Liste1").Select
Selection.Autofilter
ActiveWindow.ScrollColumn = 1
ActiveSheet.Range("$A$6:$L$150").Autofilter Field:=5, Criterial=Array( _
"Name1", "Name2", "Name 3", Name4"), Operator:= _
xlFilterValues
End Sub
Soweit so gut das funktioniert auch.
Jedoch ändern sich die Einträge Name1 bis Name4 regelmäßig was eine manuelle Bearbeitung des Makros (bzww. mehrerer ) etwas zeitaufwendig gestaltet.
Mein Ansatz zur Lösung war, dies über den Wert "cells" zu deklarieren.
Dazu habe ich im Tabellenblatt den Zellen Bereich Q13:R15 mit den Namen pro Zelle entsprechend versehen.
Falls sich ein Name ändern sollte kann dieser dort einfach ausgetauscht werden.
Als Makro hatte ich dies folgendermaßen umgesetzt:
Dim Kriterium1$, Kriterium2§, Kriterium3$, Kriterium4$
Kriterium1 = Sheets("Liste1").cells(9, 17)
Kriterium2 = Sheets("Liste1").cells(10, 17)
Kriterium3 = Sheets("Liste1").cells(11, 17)
Kriterium4 = Sheets("Liste1").cells(12, 17)
Selection.Autofilter Field:=5, Criterial:=Kriterium1
Selection.Autofilter Field:=5, Criterial:=Kriterium2
Selection.Autofilter Field:=5, Criterial:=Kriterium3
Selection.Autofilter Field:=5, Criterial:=Kriterium4
Rein theortisch funktioniert es ja auch.
Praktisch jedoch nicht so wie gewünscht. er filtert mir per String zwar das erste Kriterium, jedoch behält er dieses nicht bei der Filterung des zweiten Kriteriums ect.
Mit "," Trennung in einer Zeile und den Kriterien hintereinander funktioiniert auch nicht.
Gibt es dafür eine Lösung das man mehrere Kriterien gleichzeitgi filtern kann ?