Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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
mehrere Exceldateien zusammenführen
26.11.2018 12:59:32
Dirk
Hallo zusammen,
ich versuche mehrere gleiche Exceldateien zu einer Tabelle zusammenzuführen.
Ausgangslage:
-Alle Dateien sind gleich aufgebaut, Zeile 1 mit Überschrift, Spalte A-H wird genutzt
-Dateien haben unterschiedliche Zeilenlänge
-Überschrift (Zeile 1 und 2) soll nicht kopiert werden.
-Zieldatei ist vorhanden, Daten sollen immer in das selbe Tabellenblatt (=alte Daten überschreiben)
Folgendes VBA habe ich gefunden, welche auch im Prinzip funktioniert:
Dim oTargetSheet As Object
Dim oSourceBook As Object
Dim sPfad As String
Dim sDatei As String
Dim lErgebnisZeile As Long
Dim s As Long
Dim z As Long
Range("a2:j400").ClearContents
Set oTargetSheet = ActiveWorkbook.Sheets("Tabelle1")
lErgebnisZeile = 2 'Ergebnisse eintragen ab Zeile 2
sPfad = "T:\6_Stab\Vorlagen\07 IAKS\"
sDatei = Dir(CStr(sPfad & "IAKS Team*.xl*")) 'Alle Excel Dateien
Do While sDatei ""
Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
For z = 3 To oSourceBook.Sheets("Oktober 2018").UsedRange.Rows.Count
'Keine Leerzeilen verarbeiten
If Trim(CStr(oSourceBook.Sheets("Oktober 2018").Cells(z, 1).Value)) "" Then
For s = 1 To oSourceBook.Sheets("Oktober 2018").UsedRange.Columns.Count
'Spalte 1 - Dateinamen
'oTargetSheet.Cells(lErgebnisZeile, 1).Value = sDatei
'Spalte 2 bis n - Tabelleninhalte des Arbeitsblattes "Tabelle1"
oTargetSheet.Cells(lErgebnisZeile, s + 1).Value = _
oSourceBook.Sheets("Oktober 2018").Cells(z, s).Value
Next s
lErgebnisZeile = lErgebnisZeile + 1
End If
Next z
oSourceBook.Close False 'nicht speichern
sDatei = Dir()
Loop
Folgende Probleme habe ich:
1) Ich benötige nun nicht den Dateinamen in Spalte A, sondern dort die Inhalte der Quelldatei aus Spalte A.
2)Zudem benötige ich quasi das selbe Makro nochmals um weitere Dateien aus anderen Quelldateien (gleiches Prinzip wie oben) einzulesen. Diese sollen aber nicht unterhalb der bisherigen Eintragungen erscheinen sondern bspw. in Spalte L, Zeile 2 (also daneben).
Leider schaffe ich es nicht diese beiden Punkte zu realisieren, mein VBA reicht hierzu nicht aus.
Habt ihr ne Lösung ?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Exceldateien zusammenführen
26.11.2018 13:37:45
Klexy
Du verwendest die 3 Begriffe " Exceldatei", "Tabelle" und "Tabellenblatt". Vermutlich als Synonyme? Das sind aber 3 unterschiedliche Sachen. Was genau meinst du also?
Dann schreibst du: "Alle Dateien sind gleich aufgebaut". Im Anschluss aber "Zeile 1 mit Überschrift" und "Überschrift (Zeile 1 und 2)". Das widerspricht sich.
Dann wieder "Spalte A-H wird genutzt" und "Dateien haben unterschiedliche Zeilenlänge". Das widerspricht sich auch.
Mit anderen Worden: überleg dir nochmal genau, was du eigentlich willst. Wende soviel Sorgfalt in deiner Fragestellung auf, wie du in deren Beantwortung erwartest.
Und lad eine Beispieldatei hoch, damit wir nicht erst das Rad neu erfinden müssen, um zu antworten.
Anzeige
AW: mehrere Exceldateien zusammenführen
26.11.2018 14:07:44
Dirk
Also..
ich habe 10 Quelldateien mit je 12 Tabellenblätter (Monate). Jeder Monat ist gleich aufgebaut.
-Überschrift in Zeile 1-2
-Spalten A-H
-Zeilenanzahl jedoch pro Datei unterschiedlich
Ich will nun jeweils den aktuellen Monat (im Makro "Oktober 2018") aus jeder Quelldatei in eine bereits bestehende Zieldatei übertragen (In Tabellenblatt "Tabelle1" ab Zeile 2, alle Daten untereinander, ohne Leerzeilen und ohne Überschriften).
Die Zieldatei besteht aktuell nur aus dem o.a. VBA Code, der Rest wird noch gebastelt.
Beispiel einer Quelldatei (Inhalte gelöscht, da sensibel):
https://www.herber.de/bbs/user/125656.xlsx
1)Das VBA klappt, setzt jedoch den jeweiligen Dateinamen in der Zieldatei in Spalte A, ab Zeile 2.
Ich möchte aber nur die Werte aus der Quelldatei (je Spalte A ab Zeile 3) in die Zieldatei (beginnend ab Zeile 2 in Spalte A) einfügen/kopieren.
2)benötige ich das VBA ein zweites Mal. Jedoch sollen nun 10 andere Quelldateien (ebenfalls Spalte A-H, ab Zeile 2) in die Zieldatei (in selbes Tabellenblatt wie bei 1) ) ab Spalte L, Zeile 2 zusammengefügt werden (wieder ohne Dateiname).
Ich hoffe es etwas deutlicher geschrieben zu haben, sorry...
Anzeige
AW: mehrere Exceldateien zusammenführen
26.11.2018 15:09:45
Dirk
@ Michael
Leider nein. Ich benötige es als VBA automatisiert (Es sind immer die selben Dateien, jeden Monat 1x zusammenführen).
AW: mehrere Exceldateien zusammenführen
26.11.2018 15:45:02
Michael
Hallo Dirk, das AddIn ist offen, du kannst dir den VBA Code im Editor anschauen. Alle Codebestandteile die du benötigst sind dort enthalten. Du kannst die Userformen Dataform und Report sowie das Modul1 auch in deine Zieldatei packen und den Code auf deine Bedürfnisse anpassen.
AW: mehrere Exceldateien zusammenführen
26.11.2018 22:17:20
Klexy
Das war jetzt sehr klar und was völlig anderes als beim ersten Versuch. Ich schau es mir morgen an.
Anzeige
AW: mehrere Exceldateien zusammenführen
27.11.2018 11:41:05
Dirk
Ich konnte zwischenzeitlich durch testen und experimentieren das Problem lösen.
In Zeile:
oTargetSheet.Cells(lErgebnisZeile, s + 1).Value = _
oSourceBook.Sheets("Oktober 2018").Cells(z, s).Value
musste ich lediglich das +1 entnehmen um in Spalte A die Eintragungen zu starten
und für das zweite VBA statt +1 den Wert +12 setzen, sodass die Eintragung in Spalte L beginnt...eigentlich war es logisch :-)
Nun habe ich aber das Problem, dass ich den Code in eine bestehende Datei mit aktuell 11 Modulen einkopiert habe (und auch funktioniert), aber das Abarbeiten der Codes ca. 15 Minuten dauert. In der "Blanko"-Datei (nur der Code) läuft das ganze in 10 Sek. durch.
Liegt das an der Vielzahl der Module? Weil am Code habe ich nichts (ausser die Spaltenzahl) verändert.
Anzeige
AW: mehrere Exceldateien zusammenführen
27.11.2018 16:28:49
Klexy
Ist der Code in der Zieldatei?
Was machen denn die 11 Module?
Lad die Datei mal hoch.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige