Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
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

Zellinhalte aus Quelldatei in Masterdatei kopieren

Zellinhalte aus Quelldatei in Masterdatei kopieren
22.07.2014 10:52:28
guebla
Hallo,
ich habe ein Verzeichnis mit mehreren Unterverzeichnisse in denen Exceldateien zu finden sind. Die Inhalte einer jeden Excel-Datei (mehrere Zellinhalte) müssen teilweise in eine andere Datei übernommen werden. Das soll im einzelnen so passieren:
- kopieren der Masterdatei in ein Verzeichnis (masterdatei.xls)
- umbenennen der Masterdatei mit dem Namen der ersten Quelldatei im Verzeichnis und Anhängen eines kleine suffix "neu" (masterdatei.xls- quelldatei1_neu.xls)
- öffnen der umbenannten Masterdatei (quelldatei1_neu.xls)
- übertragen mehrerer Zellinhalte der Quelldatei in die umbenannte Masterdatei ([Zellinhalte]quelldatei.xls - [Zellinhalte]quelldatei1_neu.xls)
- schließen der umbenannten Masterdatei (quelldatei1_neu.xls)
- kopieren der Masterdatei in ein Verzeichnis (masterdatei.xls)
- umbenennen der Masterdatei mit dem Namen der zweiten Quelldatei im Verzeichnis und Anhängen eines kleine suffix "neu" (masterdatei.xls-quelldatei2_neu.xls)
- öffnen der umbenannten Masterdatei (quelldatei2_neu.xls)
- .......usw.
Die Adresse der Quellzelle ist dabei aber nicht die Adresse der Quellzelle_neu. Die Zellbezüge müsste ich dann selbst per Hand in dem Code anpassen. Die übertragenen Zellinhalte können dabei aus einer einzelnen Zelle stammen aber auch aus einer verbundenen Zelle. Wenn jedoch die Zelle aus der quelldatei eine verbundene Zelle ist, ist die Zelle der quelldatei_neu auch eine verbundene Zelle.
Der Name des Masterregisters ist bekannt.Muss aber der Name des Quellregisters bekannt sein?
Es wäre sehr schön wenn ihr mir helfen könntet. Ich denke, trotz meiner sparsamen VBA- Kenntnisse, sollte der hierzu erforderliche Code nicht sehr groß sein, oder?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte aus Quelldatei in Masterdatei kopieren
22.07.2014 11:08:34
Oberschlumpf
Hi #Name?
Bei solchen Vermutungen muss ich immer grinsen:
Ich denke, trotz meiner sparsamen VBA- Kenntnisse, sollte der hierzu erforderliche Code nicht sehr groß sein, oder?
Wie kann man etwas beurteilen, wenn man davon keine/sehr wenig Ahnung hat? :-)
Aber egal...
Schön wäre, wenn du uns so viele Bsp-Dateien zeigst, wie es notwendig ist, dein Problem zu verstehen/lösen zu können.
Wenn keine Bsp-Datei, müssen wir Dateien erstellen/müssen wir entscheiden, welche Zellen verwendet werden.
Wenn wir falsche Zellen verwenden, musst du/müssen wir nach deinen Anweisungen den Code korrigieren.
Dann doch lieber gleich sofort mit Bsp-Dateien.
Ciao
Thorsten
....wir lesen gern den Realnamen aller Fragenden/Antwortenden...

Anzeige
AW: Zellinhalte aus Quelldatei in Masterdatei kopieren
22.07.2014 17:22:04
guebla
Hallo Torsten,
vielleicht habe ich mich zu weit aus dem Fenster gelehnt. Es ist schon sehr lange her als ich mit Fortran und Pascal selbst programmierte, leider nie VBA.
Aber um so länger ich nachdenke um so komplizierter wird es doch, du hattest Recht. Hintergrund, die Anzahl und Name der Registerblätter sind unterschiedlich. D.h. ich müsste in der Masterdatei auch mehrere Registerblätter anlegen, was erst einmal kein Problem darstellt und wenn einige Registerblätter leer sind ist das völlig egal. Ich habe die Masterdatei und eine Quelldatei stellvertretend für die vielen anderen hochgeladen. Das Register Nohl soll nicht betrachtet werden.
(https://www.herber.de/bbs/user/91635.xlsx, https://www.herber.de/bbs/user/91636.xlsx)
Ciao Günther

Anzeige
AW: Zellinhalte aus Quelldatei in Masterdatei kopieren
25.07.2014 11:56:42
guebla
Hallo Leute,
bisher ist mein Problem noch offen. Die Bsp-Dateien habe ich hochgeladen.
Über eine Unterstützung würde ich mich freuen.
Ciao Günther

Status
25.07.2014 13:04:09
Oberschlumpf
Hi Günther,
ja, stimmt, du hast deinen Teil erst mal "erfüllt".
Ich für meinen Teil muss leider erst mal schreiben, dass ich z Zt im Stress bin.
Vllt findet sich noch jemand anders.
Ich werd wohl erst ab Mo wieder mehr Zeit haben.
Ciao
Thorsten

AW: Status
28.07.2014 06:53:34
guebla
Danke Torsten,
es wär schön wenn Du Dich oder jemand anders sich meines Problems annehmen könnte.
Ciao Günther

AW: Status
28.07.2014 09:13:01
Oberschlumpf
HI
bin dran, jetzt aber keine Zeit mehr...heute Nachmittag vllt wieder.
Ciao
Thorsten

Anzeige
es is (vielleicht) so weit! :-)
28.07.2014 16:37:48
Oberschlumpf
Hi Günther
Wenn ich dich richtig verstanden habe, müsste meine Lösung für dich die richtige sein.
Hier die Datei(en), die leider erst mal vielleicht einen kleinen Stolperstein darstellen.
https://www.herber.de/bbs/user/91759.zip
In dieser ZIP-Datei findest du erst mal eine Datei mit dem Namen Neuer Ordner.7z
Bevor es losgeht, musst du also die 7z-Datei erst mal mit 7Zip entpacken (so, wie du vorher mit WinZip die ZIP-Datei entpackt hast).
Der Hintergrund ist, dass dieses Forum nur Dateien bis zu 300KB und als Dateiendung NICHT 7z akzeptiert.
In der 7z-Datei findest du meine Testdateien + -ordner.
Es sind 6 Unterordner mit jeweils 1 bis 4 Testdateien.
Im Hauptverzeichnis findest du (d)eine "Musterdatei.xlsx" und meine "Makrodatei.xlsm".
Alle Dateien zusammen benötigen über 600KB - deswegen erst mit 7z, dann mit WinZip.
Soooo, zuerst nun also alles erst mal entpacken + dann meine Makrodatei.xlsm starten.
Wenn alles fertig, siehst du in den Unterverzeichnissen zu jeder deiner "Datendateien" eine weitere Datei mit dem gleichen Namen + _new als Anhang.
Jetzt gehts schon fast los! :-)
Aber vorher schau dir den Code im Makro sbStart an UND! beachte die Kommentare und korrigiere alles Notwendige, wenn erforderlich.
(was meine Testdateien + -ordner betrifft, musst du erst mal nur den Pfad in den Zeilen sbGetFiles anpassen)
Jetzt START und die Code-Erklärung :-)
1. Öffne meine Makrodatei.xlsm
2. Starte das Makro sbStart
3. Zuerst wird dem Code "bekanntgemacht, welche Dateien NICHT mit in der Auflistung verarbeitet werden sollen - das ist meine Makrodatei + deine Musterdatei
4. Nun wird sbGetFiles mit dem 2. Parameter TRUE aufgerufen.
Hier werden nur erst mal alle Dateien gezählt, die später "verarbeitet" werden sollen.
Der Endwert ist wichtig für die Fortschrittsanzeige, die ich mit eingebaut habe. Endwert = MAX-Wert
5. Jetzt wird die Fortschrittsanzeige angezeigt und der MAX-Wert an die Anzeige übergeben.
6. Als nächstes wird wieder sbGetFiles gestartet, diesmal aber mit dem 2. Parameter FALSE.
Jetzt werden tatsächlich die Datendateien zur weiteren Verarbeitung gesucht.
7. Und wenn gefunden, wird innerhalb von sbGetFiles das Makro sbFileCopy aufgerufen.
Hier wird erst mal die Musterdatei ins Verzeichnis der gerade gefundenen Datendatei kopiert.
Der Name der Musterdatei wird geändert in Name von gefundener Datendatei + _new.
Dazu muss zuerst der komplette Dateipfad + etwas später auch der Dateiname aufgesplittet werden, was alles im Makro sbFileCopy passiert.
8. Wenn 7. abgeschlossen, kommt es im Makro sbDataCopy zum Showdown! :-)
Zuerst werden sowohl die Musterdatei mit neuem Namen als auch die gefundene Datendatei geöffnet.
Jetzt werden aus der Datendatei die Inhalte der Zellen C5,C7 + C9 kopiert, und in die Musterdatei in die Zellen C7,C9 + C11 eingefügt.
9. Alles erledigt für diese gefundene Datendatei.
Die Datendatei wird geschlossen, OHNE zu speichern.
Die Musterdatei (mit neuem Namen) wird geschlossen MIT Speichern.
Und die Fortschrittsanzeige erhält ihren ersten Balken :-)
Jetzt wiederholt sich immer wieder alles ab 6. so lange, bis alle Datendateien abgearbeitet sind.
WICHTIG!!! Punkt 8
Das in 8. Beschriebene mit dem Kopieren + Einfügen findest du im Makro sbDataCopy.
Da hattest du ja selbst geshcrieben, dass du die Zellen selbst eintragen willst, die kopiert + eingefügt werden sollen.
Deswegen hab ich im Code nur 3 Bsp-Zeilen eingetragen.
Dabei handelt es sich um die Zeilen, die mit...
lwbDest.Sheets(1).Range...
...beginnen.
An den Stellen kommt also DEIN Auftritt, wenn du die Zeilen anpassen willst/musst.
Sooo...jippiehh...ich habe fertich! :-)
Ne Menge Text. War aber auch erforderlich, weil ja viel Code erstellt wurde, der erklärt werden musste.
Hilfts denn?
Ciao
Thorsten

Anzeige
AW: es is (vielleicht) so weit! :-)
29.07.2014 16:12:04
guebla
Hallo Torsten,
bevor ich mich jetzt an das Entpacken und Austesten mache, erst einmal einen ganz großen Dank. Du hast Dir unwahrscheinlich viel Mühe gemacht, mein Problem zu klären. Großen Dank :-) Ich werde mich spätestens morgen Früh nach der Testphase wieder melden.

AW: es is (vielleicht) so weit! :-)
29.07.2014 16:37:17
guebla
Hallo Torsten,
bevor ich mich an das Auspacken und Testen machen, recht herzlichen Dank. Du hast Dir wirklich viel Mühe mit der Klärung meines Problems gemacht. Nach der Testphase melde ich mich wieder.
Ciao
Günther

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige