bei angehängtem Test file ergeben sequentielle Filterungen unterschiedliche lange Ergebnis-ranges, die in ein anderes sheet ("gefiltert") per vba kopiert werden sollen, und zwar Zeile für Zeile und nicht auf einen Schlag. Ziel ist es, eine Grafik zu dynamisieren, die instantan auf das stetig an Daten zunehmende "gefiltert"-sheet zugreift. In dieses "gefiltert"-sheet sollen die Zeilen zeilenweise rein kopiert werden.
Jedes Filterungs-Ergebnis bekommt eine neue Spalte (mit den selben Überschriften) im paste sheet "gefiltert". Nach paste eines jeden Filterungs-Ergebnisses soll das vba eine Spalte frei lassen.
Zu ersetzender Code-(Schnipsel, der zwar funktioniert, aber stets händisch rein zu tippen ist, und deshalb zu automatisieren wäre):
Sheets("Isogonen").Range("B25:E25").Copy Sheets("gefiltert").Range("b3")
Sheets("Isogonen").Range("B27:E27").Copy Sheets("gefiltert").Range("b4")
Sheets("Isogonen").Range("B28:E28").Copy Sheets("gefiltert").Range("b5")
Sheets("Isogonen").Range("B29:E29").Copy Sheets("gefiltert").Range("b6")
Nach jeder Filterung stehen die Ergebnisse in "Isogonen", Spalte B:E, unterschiedlich viele Zeilen pro Filterung. Die Zellbezüge B:E nach .range variieren also nach jeder Filterung unvorhersagbar. Das vba soll diese range B:E von oben nach unten abarbeiten, bis es auf die erste Leerzeile stösst. Und jeweils nur die nächste Zeile kopieren, und sogleich in "gefiltert", zuerst ab range "B", reinschreiben... nach 2.Filterung in range "G", da Spalte "F" Leerspalte bleiben soll. 3. Filterung range "L" usw.....
Beim click auf den Button sieht man, wenn der PC nicht zu schnell ist, die ersten Testwerte der ersten Filterung langsam eingezeichnet werden (über der 30 der y-Achse), und zwar mit meinem händischen, o.g., zu automatisierenden Code.
Die anderen 3 Kurven werden noch nach der alten Methode "auf einen Schlag" eingezeichnet... zu Demo-Zwecken.
Ein test file mit ausführlicher vba Doku füge ich bei.
https://www.herber.de/bbs/user/105697.xlsm
Weiss da jemand eine Lösung?
Besten Dank und Grüße,
Bernhard