ich bin auf der Suche nach einer Möglichkeit 1-dimensionale Arrays auf Basis von Listen-Filtern zu erstellen.
Variante ohne Filter:
ValuesArray = .Worksheets(...).Range(.Worksheets(...).Cells(1,1), .Worksheets(...).Cells(100, 1))
Variante mit Filter:
j = 0
For i = 1 to 100
If cells(i,2) = "FilterKriterium" then
j = j + 1
ValuesArray(j,1) = cells(i,1)
End If
Next
Bei kleinen Listen und einem ValuesArray macht das zeitlich nicht so viel aus, wenn die Listen ab länger werden und ich auf Grund unterschiedlicher Kriterien mehrere Arrays benötige (z.B. ValuesArray1, ValuesArray2, ...), braucht VBA schon seine Zeit. Jede Zeile wird sich angeschaut und bei 5 ValuesArry noch 5 mal geprüft.
Ich hoffe meine Fragestellung ist soweit verständlich :).
Gibt es vielleicht eine effizientere Variante? Eine Variante, bei der ich vorher die Liste in Excel über VBA filtere und dann nur die relevanten Zeilen in den Array packe?
Viele Grüße
Moritz