Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array aus Bereich für Autofilter

Forumthread: Array aus Bereich für Autofilter

Array aus Bereich für Autofilter
12.09.2024 13:37:47
PeTeR
Hallo VBA-Experten,
ich habe mit Arrays leider zu wenig Ahnung und bitte deshalb um eure Unterstützung:
Ich möchte per VBA max. 4 Länder in einer Liste (z.B. A1:A500) filtern. Die Länder sind variabel z.B. im Bereich "Z100:Z103"
1) Lösung mit 3 festen Ländern funktioniert:
ActiveSheet.Range("$A$1:$A$500").AutoFilter Field:=1, Criteria1:=Array("DE", "AT", "CH"), Operator:=xlFilterValues
2) Lösung mit einer Variablen funktioniert:
Länder = Array("NTR", "VZW", "CH")
ActiveSheet.Range("$A$1:$A$500").AutoFilter Field:=1, Criteria1:=Länder, Operator:=xlFilterValues
Ich bin auf der Suche nach folgender Lösung:
Länder = Array(Range("Z100:Z103"))
ActiveSheet.Range("$A$1:$A$500").AutoFilter Field:=1, Criteria1:=Länder, Operator:=xlFilterValues
Vielen Dank für eure Anregungen!
VG
PeTeR
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array aus Bereich für Autofilter
12.09.2024 13:47:55
Beverly
Hi,

vielleicht so:

    Dim Länder()

Länder = Application.Transpose(Range("Z100:Z103"))


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
AW: Array aus Bereich für Autofilter
12.09.2024 13:51:56
Uduuh
Hallo,
versuch's mit
Länder Application.Transpose(Application.Transpose(Range("Z100:Z103")))

Gruß aus'm Pott
Udo
Anzeige
AW: Array aus Bereich für Autofilter
12.09.2024 13:59:13
daniel
Hi
du brauchst ein eindimensionales Array mit Texten für den Autofilter.
ein Zellbereich mit mehreren Zellen ergibt aber immer ein zweidimensionales Array.

eine einfache Möglichkeit, hier ein eindimensionales Array zu bekommen wäre:
Länder = Split(WorksheetFunction.TextJoin(";", 1, Range("Z100:Z103")), ";")


eine weitere Möglichkeit wäre, dass man ausnutzt, dass ein zweidimensionales Array dann als eindimensionales Array verwendet werden kann, wenn es aus einer Zeile mit vielen Spalten besteht. Du hast aber viele Zeilen und eine Spalte, daher muss man Zeilen und Spalten tauschen:
Länder = Worksheetfunction.Transpose(Range("Z100:Z103").value)


Gruß Daniel


Anzeige
AW: Array aus Bereich für Autofilter
12.09.2024 15:03:53
PeTeR
Hallo Zusammen,
vielen Dank für eure Unterstützung und die tollen Erklärungen! Funktioniert perfekt :-))
VG
PeTeR

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige