Excel Makro .AutoFilter variable Range?
Hallo,
ich habe ein simples Excel Makro aufgenommen, in der ich eine Tabelle nach bestimmten Kriterien Filtern muss. Die Tabelle kann variabel lang sein.
Durch die Funktion "Makro aufzeichnen" habe ich folgendes:
"ActiveSheet.Range("$A$1:$S$249").AutoFilter Field:=15, Criteria1:="0""
Wie kann ich die Zeilenlänge durch eine Variable ersetzen? Die Länge der Tabelle würde ich einfach durch:
X = (Range("A2").End(xlDown).Row)
ermitteln.
Bitte um Entschuldigung für die Frage, ich schreibe nur sehr selten Makros.
Vielen Dank für eure Hilfe. :)
Wäre es ein Nachteil, wenn Du einfach die maximale Zeilenanzahl von 1048576 angibst?
Ich glaube ehrlich gesagt nicht, ich muss erst schauen wie das Makro mit leeren Zeilen umgeht. Aber dann würde ich es auf 500 Zeilen einschränken, da es sonst länger dauert, oder?
2 Antworten
("$A$1:$S$" & x)
Die klammer wie gezeigt ändern. Die Zeile zur Verstimmung von x davor platzieren
Wenn Du nur einen Bereich von A-S bei 500 Zeilen hast, dürfte es bei halbwegs modernen Rechnern nicht wirklich zu einem Problem der Geschwindigkeit werden. Es kommt darauf an, welche anderen Formeln Du noch im Blatt hast. Ich habe hier schon mit 12000 Zeilen bei 60 Spalten mit einer RDP einigermaßen flüssig arbeiten können. Und da ist noch der Flaschenhals eines VPN dabei, das nicht unbedingt für rasante Geschwindigkeit bekannt ist.