ich bin erst seit ca. 2 Monaten mit VBA unterwegs, aber ich lerne gerne neues hinzu. So nun zu meinem Szenario.
Ich habe eine Arbeitsmappe A.xlsm in diese möchte ich dynamisch Zellenbereiche aus einer bzw mehreren anderen Arbeitsmappen (diese sind gleich aufgebaut) einfügen.
Die weitere Arbeitsmappe (B.xlsx, C.xlsx) verfügt über ein Tabellenblatt benannt ist mit export. Die erste Zeile darin (A1:D1) trägt die Überschriften bzw. Feldbezeichnungen. Ab A2 bis ... können dann die "Datensätze" eingegeben worden sein. Diese Anzahl ist immer unterschiedlich. Es kann sein, das keine Zeile befüllt ist oder auch 23.
Ich habe mir nun überlegt das Script müsse wie folgt arbeiten:
- öffne über den Dateiöffnen Dialog eine oder (wenn möglich) mehrere ausgewählte Datei(en)
- prüfe in B.xlsx wieviel Zeilen auf dem Tabellenblatt export befüllt sind und kopiere diese dann in die A.xlsm Tabelle1 in die erste "freie" Zeile
- prüfe dann die nächste ausgewählte Datei und füge die Zeilen dann in A.xlsm unten an die bestehenden Daten an usw.
Hoffe ich konnte dies einigermaßen verständlich machen, ansonsten einfach nachfragen. Ich habe mal 3 Beispieldateien angehangen. in der A.xlsm ist ausschließlich die Tabelle und eine Schaltfläche beinhaltet, mehr nicht. Also noch nenne wir es mal jungfräulich in den anderen beiden sind unterschiedliche Datensätze enthalten.
https://www.herber.de/bbs/user/135020.xlsm
https://www.herber.de/bbs/user/135021.xlsx
https://www.herber.de/bbs/user/135022.xlsx
Danke euch schon mal für eure Mühen
Thorsten