Also Excel 2019 kann mit Datumswerten im Filter überhaupt nicht umgehen. Selbst wenn ich die Auswahl per Makrorekorder aufzeichne und einfach nochmal abspielen will, erhalte ich Laufzeitfehler 1004 "Die Autofilter-Methode des Range-Objektes konnte nicht ausgeführt werden"
Das ist der Code, den der Rekorder aufzeichnet:
ActiveSheet.Range("$A$1:$C$14").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(2, "1/3/2023", 2, "1/5/2023", 2, "1/7/2023", 2, _
"1/8/2023")
Ich habe diese Datumsangaben schon auf alle möglichen Weisen umgewandelt, z.B. mit Cdate, Clng(Dateserial()) usw. oder in andere Zahlenformate umgestellt. Der Fehler bleibt.
Aber hier im Thread geht es zum Glück nicht um Datumsangaben sondern um Texte.
Man könnte nun das Array mit Application.Transpose in ein eindimensionales Array umwandeln und dann per Schleife jedem Eintrag vorne und hinten ein * zuweisen. Das bringt aber nichts, weil die Werte in dem Array eindeutig mit den Einträgen in der Filerliste übereinstimmen müssen.
Fazit: Das Vorhaben ist auf diese Weise nicht umsetzbar. Einzige Lösungsmöglichkeit die ich sehe ist ein vorheriges Durchlaufen sämtlicher Einträge der zu filternden Spalte per Schleife und bei Übereinstimmung mit dem Like Operator wird dieser Eintrag einem eigenen eindimensionalen Nullbasierten Array hinzugefügt.
Gruß Mr. K.
|