14.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hi liebes Forum,

ich brauche ein Makro zum Importieren von Daten aus verschiedenen Excel-Dateien in eine Excel-Datei. Ich habe schon versucht, mir verschiedene Threads zu diesbezüglichen Makros durchzulesen, aber ich komme einfach mit dem Code nicht richtig klar. Habe noch nie ein Makro programmiert und bin dementsprechend sehr neu in der Materie...

Ich würde mich sehr freuen, wenn jemand von Euch mir da weiterhelfen könnte. Falls jemand eine Seite kennt, auf der Makro-Befehle einfach erklärt werden, wäre das ebenfalls super. Würde nämlich auch gerne lernen, wie man sowas selbst machen kann.

Zu meinem Problem:

Ich habe ca. 100 Dateien, die fortlaufend nummeriert sind: KW_01_08.xls, KW_02_08.xls usw.

In diesen Dateien sind verschiedene Angaben nebeneinander geschrieben - und zwar nach Wochentagen sortiert.
Montag von B4:F60
Dienstag von H4:L60
Mittwoch N4:R60
Donnerstag T4:X60
Freitag Z4:AD60
Samstag AF4:AJ60
Sonntag AL4:AP60

Diese Bereiche sollen jetzt in einer neuen Daten alle untereinander gepackt werden.

Also jeweils die fünf Spalten des jeweiligen Wochentags als ein Block kopiert werden. Und der nächste Block dann drunter. So dass man am Ende alle Wochentage mit den fünf Spalten aus allen 100 Dateien untereinander hat.

Für das Ganze soll eine neue Excel-Datei erstellt werden.

Wäre super, wenn ihr mir hier weiterhelfen könntet. Das alles einzeln zu kopieren, ist extrem aufwändig, denke ich. Und ich möchte ja auch was über Makros lernen, damit ich sowas in Zukunft schneller wegfrühstücken kann ;)

Vielen Dank schon mal im Voraus! Sagt Bescheid, wenn noch Angaben fehlen!

Viele Grüße
Markus

13 Antworten

0 Punkte
Beantwortet von
Hallo Oliver,

vielen Dank! Das ist klasse - es waren nur 3 kleinere "Fehler" drin, die ich aber selbst beheben konnte.

Darauf kann ich jetzt aufbauen - ich hoffe, dass ich den Rest alleine schaffe. Wenn nicht, melde ich mich mal wieder.

Einen schönen Abend und viele Grüße
Jojo
0 Punkte
Beantwortet von
Hallo coros, Dein Script in Antwort 6 ist genau das, was ich gerade brauch, aber leider hab ich mit scripten bis jetzt nichts am Hut gehabt. Ich hab mehrere Excellisten mit Werten in den Zellen B12 bis B19, die in eine neue Excelliste kopiert werden sollen.
1. bekomm ich immer ne Fehlermeldung in der Zeile: *And IsNumeric(Left(Datei, 2)) Then*, "variable *Datei* nicht definiert"
2. Quelldateipfad ist ausgewählt
3. Zellbereich der Quelle ist auch definiert

Hilf mir !!!
0 Punkte
Beantwortet von
Hallo Oliver,

wie ich schon befürchtet habe, muss ich nochmal um deine Hilfe bitten (ich bekomme es einfach nicht hin).

In meinen Ordnern/Unterordnern können mehrere Versionen der gleichen Dateien stehen (gleich bedeutet, die ersten beiden Zeichen sind die gleichen Zahlen). Ich möchte die Verknüpfungen allerdings nur von der aktuellsten Datei haben.

D.h. in der Sub Prüfung() (siehe Antwort 8) muss neben

If Right(objDateityp.Name, 4) = ".xls" And objDateityp.Name <> ThisWorkbook.Name _
And IsNumeric(Left(objDateityp.Name, 2))

noch überprüft werden, ob es sich bei der gefundenen Datei um die jüngste Version in allen Ordnern/Unterordnern handelt.

Wie muss ich das denn hier einbauen? (am besten so, dass der timestamp auch noch in der Excel-Datei neben den Verknüpfungen steht).

Es wäre klasse, wenn du (oder natürlich auch jemand anderes) mir helfen könnte.

Vielen Dank, Gruß
Jojo
...