Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateien auslesen und Daten zusammenführen

Dateien auslesen und Daten zusammenführen
Daniel
Hallo zusammen,
mir stellt sich folgendes Problem in den Weg:
Ich habe eine Datei A mit einem Makro zu versehen. Aufgabe ist: Datei A enthält eine Übersicht Angestellter/Monat die es zu befüllen gilt. Dazu soll das Makro aus x (derzeit 15) verschiedenen Dateien einen Wert auslesen. Pro Datei existieren 12 Arbeitsblätter (eins je Monat) und der zu übertragende Wert steht jeweil in einer Zelle (Bsp.: A35).
Hintergrund ist, dass in den Dateien jeder Arbeitnehmer seine monatlichen Arbeitszeiten erfasst und mir dann zusendet (wie ein Stundenzettel) - ich erstelle dann eine Übersicht wieviele Stunden pro Monat geleistet wurden. (Übersicht = Datei A)
Jetzt mein Problem: Ich habe den Arbeitsschritt (gehe in eine Datei, nimm den Wert aus Referenzzelle, kopiere ihn und füge ihn in Zielzelle x von Datei A ein) einmal mit dem Recorder aufgenommen und an die vorhandenen Dateien angepasst. Wenn ich jetzt das Makro laufen lassen will sagt mir der VBA Editor: zu langer Code. Logisch, verstehe ich auch.
Kann man das ganze irgendwie "verkürzen" damit das Makro reibungslos in einem duchläuft? Es klingt alles etwas kompliziert in der Beschreibung... Wenn Ihr fragen habt, einfach stellen. Bin für jeden Tipp dankbar. Und ja, als Anfänger ist man immer etwas ungelenk - entsprechende Kompendien habe ich schin gewälzt, sie behandeln mein Problem leider nur bedingt.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateien auslesen und Daten zusammenführen
09.07.2011 09:14:06
Christian
Hallo Daniel,
Mein Vorschlag:
Schreibe in deine Makro-Datei, Tabelle1:
- in Spalte A die Namen der Dateien die du öffnen willst (als zB. Name1.xls, Name2.xls, etc). Diese Dateien sind im selben Verzeichnis wie deine Makro-Datei, andernfalls müsstest du noch den Pfad mit angeben.
- in Spalte B die Namen der Tabellenblätter, die durch durchlaufen willst
- und zB. in Zelle C2 die Zell-Adresse, die du auslesen willst.
Mit deinem Makro klapperst du dann die Dateinamen aus Spalte A in einer Schleife ab, öffnest die Datei und in einer weiteren inneren Schleife durchläufst du die Tabellennamen aus Spalte B und liest den Wert aus der Referenzzelle.
Um die Werte nicht einzeln in die Zieltabelle (z.B. Tabelle2) schreiben zu müssen, schreibst du diese am Besten in ein Array und überträgst am Ende einfach das gesamte Array in die Zieltabelle.
Ich schätze, das lässt sich mit 20 - 30 Zeilen Code erschlagen. Da kommt dann noch Fehlerabfangung dazu, wenn die Datei oder Tabelle nicht existiert u.ä.
Gruß
Christian
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige