AdvancedFilter in VBA
08.08.2018 10:10:22
Mia
ich lese mich seit 2 Tagen durch das Internet und bekomme es noch nicht hin mit dem AdvancedFilter. Vielleicht kann mir hier jemand helfen.
Mein Problem:
Ich habe etwa 20 Listen mit jeweils etwa 10.000 Zeilen und benötige davon jeweils etwa 10 Einträge, das sind jedesmal die gleichen. Für den Anfang versuche ich aus einer Liste die 10 benötigten Zeilen auszulesen. Wenn das klappt, kann ich es ausweiten auf alle.
In meiner Datei "Test" habe ich drei Tabellenblätter: "Suchwerte", "Daten" und "Ergebnisse".
Suchwerte enthält genau die Liste mit den 10 gesuchten Variablennamen (A1:A10)
Daten enthält die große Tabelle mit 6 Spalten und 10.000 Zeilen. In Spalte D stehen die Variablennamen und in Spalte F die Werte dazu. Den Rest brauche ich nicht, falls es daran scheitert kann ich die überzähligen Spalten löschen.
In Ergebnisse sollen dann die 10 Variablen und daneben die zugehörigen 10 Werte stehen.
Wenn das nur erstmal funktioniert, will ich es verfeinern, mit benannten Bereichen anstatt fixer Zellbezeichnungen.
Das hab ich probiert:
Sub Daten_suchen()
Sheets("Daten").Range("D1:F10000").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Suchwerte").Range("A1:A10"), _
CopyToRange:=Sheets("Ergebnis").Range("A1:C10"), _
Unique:=False
End Sub
Ergebnis ist, dass in meinem Blatt "Ergebnis" nur in A1:C1 die Spaltenüberschriften aus "Daten" stehen.
Was mache ich falsch? Wie mache ich es richtig?
Vielen Dank schon mal für eure Hilfe,
Mia.