Hallo,
ich bin ein typischer Fall, was Referenzierung in VBA betrifft. Habe VBA über den Recorder gelernt und mit meinem mäßigen Wissen in Programmierung verbunden. Bei vielen Problemstellungen habe ich das Problem, umständlichen Code zu schreiben. Im aktuellen Fall dauert das Makro dadurch auch viel zu lange.
Es geht um die Verwendung der Funktion Teilsumme bzw. Subtotal in VBA. Wenn ich den Autofilter in Spalte 4 und 6 nach bestimmten Kriterien einstelle, will ich die Anzahl der angezeigten Zeilen ermitteln. Habe das nur anfängerhaft mit Teilsumme in einer Hilfszelle geschafft:
Selection.AutoFilter Field:=2, Criteria1:="A"
Selection.AutoFilter Field:=4, Criteria1:="B"
Dann lese ich das Ergebnis der Hilfszelle mit Teilsumme aus, übergebe es an eine Variable und verwende es weiter. Durch die große Anzahl dieser
Filtereinstellungen, dauert das sehr lange, trotz
Application.ScreenUpdating = False
Wie kann ich das programmieren, ohne auf die Tabellenblätter selbst zurückgreifen zu müssen?
Ich hoffe, mir kann jemand helfen, da ich mich dann auch einmal grundlegend bei der Qualität meiner
Programmierungen verbessern könnte, was Referenzierung betrifft. Dieses ständige Range("XY").Select
regt mich selbst auf... :)
|