Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellen mit Makro mergen - dynamische Länge + Spezialfiltereisnatz
#1
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.


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 Big Grin

PS: Ich bin blutiger Anfänger in VBA Coding und je einfacher bzw. simpler oder auf gutdeutsch idiotensicherer die Lösung ist, desto besserSmileSmileSmile
Antwortento top
#2
Hallo,

u.a. für das, was du machen willst, wurde Power Query (Daten > Abfragen und Verbindungen / Seit der Version 2016 immer on Board) entwickelt.

Und ein nicht VBAler lernt Power Query wesentlich schneller als VBA.

Zum reinkommen gibt es viele YouTube Videos und sehr gut Beschreibungen auf excel-ist-sexy.de.
VG, wisch
Wer Hilfe nimmt, sollte auch Hilfe geben! Auch wenn dies auf einem ganz anderem Gebiet geschieht.
Antwortento top
#3
Hi

Der Spezial Filter führt bei jeder Filterung ja die Überschriften mit sich. Was beim untereinander Anfügen sicher dann auch nicht gewünscht ist. Im Prinzip Filtern in einen festen Bereich (ab z.B. A1) und dann die Daten in eine Tab kopieren. Nächste Blatt Filtern und Daten kopieren und in der Tab unten anfügen.
Für einen fertigen Code solltest du eine Bsp.Datei zur Verfügung stellen.
 
Geht heute auch mit PQ. Aber mit Filter aus Zellen usw… braucht es schon auch seine Zeit zum Einarbeiten.

Oder du verwendest einfach meine alte Vorlage.

.xlsb   Spezialfilter.xlsb (Größe: 34,3 KB / Downloads: 0)

Gruß Elex
Antwortento top
#4
(04.11.2020, 14:49)wisch schrieb: Hallo,

u.a. für das, was du machen willst, wurde Power Query (Daten > Abfragen und Verbindungen / Seit der Version 2016 immer on Board) entwickelt.

Und ein nicht VBAler lernt Power Query wesentlich schneller als VBA.

Zum reinkommen gibt es viele YouTube Videos und sehr gut Beschreibungen auf excel-ist-sexy.de.


Danke für den Tipp Smile werde mich privat mal in PQ einarbeiten und schauen was ich findeSmile
Für die Arbeit schau ich mir mal das von Elex anSmile

LG
Scoarden

(04.11.2020, 15:51)Elex schrieb: Hi

Der Spezial Filter führt bei jeder Filterung ja die Überschriften mit sich. Was beim untereinander Anfügen sicher dann auch nicht gewünscht ist. Im Prinzip Filtern in einen festen Bereich (ab z.B. A1) und dann die Daten in eine Tab kopieren. Nächste Blatt Filtern und Daten kopieren und in der Tab unten anfügen.
Für einen fertigen Code solltest du eine Bsp.Datei zur Verfügung stellen.
 
Geht heute auch mit PQ. Aber mit Filter aus Zellen usw… braucht es schon auch seine Zeit zum Einarbeiten.

Oder du verwendest einfach meine alte Vorlage.


Gruß Elex

Tatsächlich bin ich ziemlich happy darüber, dass die Überschriften mitgenommen werden, da ich damit noch den Überblick behalte ^^

Ich kann leider erst morgen ne Beispieldatei anbieten, da ich dafür nicht die Originale nehmen kann :D

in deine Vorlage schau ich gleich direkt mal rein und melde mich, wenn diese schon hilft Smile

Danke und liebe Grüße Scoarden
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste