04.11.2020, 15:34
Hallo liebe Leute, ich hab mich die letzten Tage wundgesucht und finde nichts, was mir mit meinem Problem weiterhilft, deswegen jetzt konkret gefragt:
Ich habe 5 Tabellen (diese haben alle das gleiche Format und die gleiche Spaltenanzahl. Allerdings variiert die Anzahl der Zeilen pro Tabelle).
Pro Tabelle gibt es ein Arbeitsblatt. Da ich bestimmte, kombiniert-gefilterte Daten aus den Tabellen brauche, habe ich den sogenanten Spezialfilter benutzt und eine Kriterientabelle erstellt.
Die nun gefilterten Daten kommen dann in ein separates Arbeitsblatt in eine Ergbenistabelle. Soweit so gut, der Pull funktioniert auch.
Das Problem: Da es sich allerdings um gleichartige Tabellen handelt, möchte ich die Ergebnisse untereinander einfügen. Manuell funktioniert das ja auch wunderbar, aber wenn ich ein Makro dafür aufzeichne,
setzt mir dieses die ausgewählte Range als fix. Wenn sich dann die Anzahl der zu ziehenden Daten ändert, überschreibt es mir entweder Daten, oder setzt die zu ziehenden Daten deutlich weiter unterhalb an.
Ich möchte allerdings, dass mir die Ergebnisse des zweiten Pulls direkt unter den ersten Pull gepackt werden. Dann die des dritten Pulls unter den zweiten, etc..
Ich habe inzwischen auch eine Funktion, die mir besagte Zeile findet und den Bereich - in den meine Filterergebnisse gepackt werden sollen - markiert.
Konkrete Frage: Wie muss ich meinen unten aufgeführten Code abändern, dass mir die gezogenen Daten in die markierten Zellen übertragen werden? Aktuell ist da ein fixer Wert, der sich aber immer ändert.
Helft mir Community,
ihr seid meine letzte Hoffnung
PS: Ich bin blutiger Anfänger in VBA Coding und je einfacher bzw. simpler oder auf gutdeutsch idiotensicherer die Lösung ist, desto besser :) :) :)
Ich habe 5 Tabellen (diese haben alle das gleiche Format und die gleiche Spaltenanzahl. Allerdings variiert die Anzahl der Zeilen pro Tabelle).
Pro Tabelle gibt es ein Arbeitsblatt. Da ich bestimmte, kombiniert-gefilterte Daten aus den Tabellen brauche, habe ich den sogenanten Spezialfilter benutzt und eine Kriterientabelle erstellt.
Die nun gefilterten Daten kommen dann in ein separates Arbeitsblatt in eine Ergbenistabelle. Soweit so gut, der Pull funktioniert auch.
Das Problem: Da es sich allerdings um gleichartige Tabellen handelt, möchte ich die Ergebnisse untereinander einfügen. Manuell funktioniert das ja auch wunderbar, aber wenn ich ein Makro dafür aufzeichne,
setzt mir dieses die ausgewählte Range als fix. Wenn sich dann die Anzahl der zu ziehenden Daten ändert, überschreibt es mir entweder Daten, oder setzt die zu ziehenden Daten deutlich weiter unterhalb an.
Ich möchte allerdings, dass mir die Ergebnisse des zweiten Pulls direkt unter den ersten Pull gepackt werden. Dann die des dritten Pulls unter den zweiten, etc..
Ich habe inzwischen auch eine Funktion, die mir besagte Zeile findet und den Bereich - in den meine Filterergebnisse gepackt werden sollen - markiert.
Konkrete Frage: Wie muss ich meinen unten aufgeführten Code abändern, dass mir die gezogenen Daten in die markierten Zellen übertragen werden? Aktuell ist da ein fixer Wert, der sich aber immer ändert.
Code:
Sub PullDataGM()
'
' PullDataGM Makro
'
' Hier findet er mir die Zeile unterhalb des ersten Pulls und markiert mir den nötigen Bereich
Sheets("FY_Ausgabe").Select
Dim x As Integer
Application.ScreenUpdating = False
numRows = Range("EM9", Range("EM9").End(xlDown)).Rows.Count
Range("EM9").Select
For x = 1 To numRows
ActiveCell.Offset(1, 0).Select
Next
Range(Selection, Selection.End(xlToLeft)).Select
Application.ScreenUpdating = True
' Hier zieht er mir mithilfe des sog. Spezialfilters die Rohdaten aus den anderen Arbeitsblättern.
Sheets("FY19-22 Forecast - GM").Range("GM_Rohdaten[#All]").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=Sheets("FY_Filter").Range( _
"GM_Filter[#All]"), CopyToRange:=Range("A28:EM28"), Unique:=False
' Bei CopyToRange:=Range("A28:EM28") hätte ich gerne eine Art Befehl, dass mir das Ergebnis in die markierten Zellen gepackt wird
End Sub
Helft mir Community,
ihr seid meine letzte Hoffnung

PS: Ich bin blutiger Anfänger in VBA Coding und je einfacher bzw. simpler oder auf gutdeutsch idiotensicherer die Lösung ist, desto besser :) :) :)