Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellen zu einer „Mastertabelle“ zusammenführen?!

Tabellen zu einer „Mastertabelle“ zusammenführen?!
01.04.2009 09:50:20
Volker
Hallo an alle!
Ich habe folgendes Problem.
Ich habe verschiedene Excel-Dateien die jeweils aus mehreren Blättern bestehen.
Die Blätter der Dateien sind alle identisch aufgebaut. (gleiche Anzahl und Namen von Spalten)
Sie besitzen jedoch unterschiedlich viele Informationen (d.h. sie haben unterschiedliche Anzahl von Zeilen).
Nun möchte ich die Informationen von Tabellenblatt 5 von allen Dateien in eine neue Datei zusammenführen („Mastertabelle“). Es soll so aussehen, dass die Daten der einzelnen Dateien untereinander aufgebaut werden.
Ich hoffe, dass mir jemand bei dieser Anspruchsvollen Aufgabe helfen kann!
Vielen Dank und viele Grüße
Volker
Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
01.04.2009 10:26:57
Mike
Hey Volker,
wenn Du von "Daten der einzelnen Dateien untereinander" sprichst,
- könnte man die Details aus den 5ern rauskopieren und als Werte einfügen
oder
- Du erstellst Summierungen pro 5er-Blatt und referenzierst im Master darauf
Gruss
Mike
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
01.04.2009 12:43:52
Volker
Hi Mike!
Danke für Deine Antwort!
Also in den "5ern" stehen jeweils Daten.
Diese Daten sollen nicht summiert, sondern unterineander in dem Masterplan zusammengeführt werden. Dies sollte möglichst automatisch passieren, d.h., dass man nicht immer kopieren/einfügen muss
Gru
Volker
Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
01.04.2009 14:40:45
michael
Hi all ^^
ein beispiel
gruß michael
Option Explicit
Sub DateienLesen()
Call EventsOff
Dim DateiName As String
DateiName = Dir("C:\Temp\" & "*.xls")
Do While DateiName ""
If ThisWorkbook.Name DateiName Then
Workbooks.Open Filename:="C:\Temp\" & DateiName
Workbooks(DateiName).Worksheets("Tabelle5").Range(Cells(2, 1), Cells(Worksheets("Tabelle5").UsedRange.SpecialCells(xlCellTypeLastCell).Row, Worksheets("Tabelle5").UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy _
ThisWorkbook.Worksheets("Mastertabelle").Range("A" & ThisWorkbook.Worksheets("Mastertabelle").Range("A" & Rows.Count).End(xlUp).Row + 1)
Workbooks(DateiName).Close
End If
DateiName = Dir
Loop
Call EventsOn
End Sub



Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub



Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub


Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
02.04.2009 10:31:49
Volker
Hi Michael!
Danke!
Da ich nicht sooo die Erfahrung mit VBA habe, kmönntest Du mir bitte noch sagen, welche Daten ich genau meinen Bezeichnungen anpassen muss?
Wäre super nett! Danke!
Viele Grüße
Volker
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
02.04.2009 11:14:41
michael
hi volker ^^
mit einigen kommentaren versehen :-)
gruss nighty
Option Explicit

Sub DateienLesen()
Call EventsOff
Dim DateiName As String
'naechste zeile deinen pfad anpassen,nur dieses "C:\Temp\"
DateiName = Dir("C:\Temp\" & "*.xls")
Do While DateiName  ""
If ThisWorkbook.Name  DateiName Then
'naechste zeile deinen pfad anpassen,nur dieses "C:\Temp\"
Workbooks.Open Filename:="C:\Temp\" & DateiName
'es wird kopiert von 2,1 bzw zeile2 spalte 1 bis ermitteltes zeilen wie spaltenende
'tabellennamen sind nach deinen vorgaben
Workbooks(DateiName).Worksheets("Tabelle5").Range(Cells(2, 1), Cells(Worksheets(" _
Tabelle5").UsedRange.SpecialCells(xlCellTypeLastCell).Row, Worksheets("Tabelle5").UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy _
ThisWorkbook.Worksheets("Mastertabelle").Range("A" & ThisWorkbook.Worksheets(" _
Mastertabelle").Range("A" & Rows.Count).End(xlUp).Row + 1)
Workbooks(DateiName).Close
End If
DateiName = Dir
Loop
Call EventsOn
End Sub


vergess die beiden kleinen oberen makros nicht :-))

Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 12:55:28
michael
Hi Volker ^^
Habe es nun vielleicht fuer dich einfacher gestaltet :-)
Du brauchst nun nur noch im code diese drei zeilen anzupassen
DeinPfad = "C:\Temp\"
QuellTabelle = "Tabelle5"
ZielTabelle = "Mastertabelle"
Gruß Michael

Sub DateienLesen()
Call EventsOff
Dim DateiName As String, DeinPfad As String, QuellTabelle As String, ZielTabelle As String
DeinPfad = "C:\Temp\"
QuellTabelle = "Tabelle5"
ZielTabelle = "Mastertabelle"
DateiName = Dir(DeinPfad & "*.xls")
Do While DateiName  ""
If ThisWorkbook.Name  DateiName Then
Workbooks.Open Filename:=DeinPfad & DateiName
Workbooks(DateiName).Worksheets(QuellTabelle).Range(Cells(2, 1), Cells(Worksheets( _
QuellTabelle).UsedRange.SpecialCells(xlCellTypeLastCell).Row, Worksheets(QuellTabelle).UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy _
ThisWorkbook.Worksheets(ZielTabelle).Range("A" & ThisWorkbook.Worksheets( _
ZielTabelle).Range("A" & Rows.Count).End(xlUp).Row + 1)
Workbooks(DateiName).Close
End If
DateiName = Dir
Loop
Call EventsOn
End Sub


Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
02.04.2009 13:46:21
Volker
Hi Michael!!
Habe es soweit alles gemacht. Wenn ich es nun ausführe passiert nichts. Es kommt noch nichteinamle eine Fehlermeldung. Mache ich was falsch?
Viele Grüße
Volker
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
02.04.2009 14:21:42
michael
hi volker ^^
die pfadangaben des ordners sollten ueberprueft werden,die auszulesenden exceldateien sollten sich darin befinden
gruß michael
Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 07:46:02
michael
hi volker ^^
verbundene zellen wie geschuetzte bereiche sind zur zeit nicht erlaubt :-)
gruß michael
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 11:43:48
Volker
Hi Michael!
Vielen vielen Dank für Deine Mühen!!!
Ich musste jetzt die Vorgehensweise etwas ändern....
Die einzelnen Tabellen bestehen jetzt nur noch aus einem Tabellenblatt. (Dies ist jedoch weiterhin bei allen identisch) Sie befinden sich auch alle in dem gleichen Ordner.
Diese einzelnen Tabellenblätter der (etwa 20) Dateien sollen nun in eine gegebene Datei (Masterdatei) zusammengeführt werden (untereinander gelistet). Hier sollen sie in einem festgelegten Tabellenblatt erscheinen.
Ich hoffe Du kannst mir bei dieser Aufgabe helfen bzw. hast erstmal mein Anliegen verstanden.
Vielen Dank und viele Grüße
Volker
Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 12:57:48
michael
Hi Volker ^^
Irgendwie ist meine vorige Antwort verrutscht,schau nach dem Datum bitte :-)
Gruß Michael
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 13:53:06
Volker
Hi Michael!
Erstmal nochmal danke für Deine Mühen :-)
Ich habe das ausprobiert aber es kommt passiert wieder nichts, d.h. es kommt auch keine Fehlermeldung.
Die zusammenzuführenden Tabellen heißen alle"Project View" (insgesamt ca. 20 Dateien). Das Zielblatt heißt"Master" und befindet sich in der Datei "Masterplan". Der Masterplan und die einzelnen Projektpläne befinden sich alle in einem Ordner.
Vielen Dank schonmal und viele Grüße
Volker
Anzeige
AW: Tabellen zu einer „Mastertabelle“ zusammenführen?!
03.04.2009 14:32:41
Volker
Hi Michael!
Da sich die Ausgangslage meines Problems geändert habe, habe ich nochmal ein neuen Eintrag ins Forum geschrieben.
Hier für Dich auch nochmal der Text:
"Hi an alle!
Eine ähnlich Frage hatte ich vor kurzem schon mal gestellt. Mittlerweile hat sich an der Ausgangslage jedoch etwas geändert, so dass ich meine Frage noch einmal stelle.
Ich habe verschiedene Projektpläne (alles einzelne Excel-Dateien; etwa 20). Diese bestehen alle aus einem Tabellenblatt namens „Project View“. Dieses Tabellenblatt ist so aufgebaut, dass es in der ersten Zeile den Namen des Projekts beinhaltet und in der zweiten die Überschriften für die Spalten. Der Aufbau ist bei jeder Datei gleich.
Ab der dritten Zeile folgen die Daten zum Projekt, d.h. aus welchen einzelnen Komponenten etc das Projekt besteht.
Jedes Projekt ist unterschiedlich umfangreich, d.h. es sind nicht immer die gleiche Anzahl von Zeilen vorhanden.
Nun möchte ich die einzelnen Projekte zusammenführen. Ich möchte Sie untereinander aufgelistet in die Datei „Masterplan“ und dort im Tabellenblatt „Mastertabelle“ einfügen. Die Projekte und der Masterplan befinden sich alle in einem Ordner.
Beachtet werden soll dabei, dass erst ab der dritten Zeile kopiert werden soll und, dass auch in dem Zielblatt „Mastertabelle“ erst ab der dritten Zeile eingefügt werden soll, da dieses Tabellenblatt auch aus zwei ersten festen Zeilen besteht.
Ist dies irgendwie möglich?
Ich hoffe jemand kann mir bei diesem umfangreichen Herausforderung helfen!
Vielen Dank und viele Grüße
Volker "
Ich hoffe Du kannst mir noch weiterhelfen!
Viele Grüße
Volker
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Tabellen dynamisch zusammenführen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um mehrere Excel-Dateien zusammenzuführen und die Daten aus verschiedenen Tabellenblättern in eine Mastertabelle zu integrieren, kannst Du die folgende VBA-Makro-Lösung verwenden. Diese Methode ermöglicht es Dir, mehrere Excel-Dateien automatisch zusammenzuführen, ohne dass Du manuell kopieren oder einfügen musst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Option Explicit

Sub DateienLesen()
    Call EventsOff
    Dim DateiName As String
    Dim DeinPfad As String, QuellTabelle As String, ZielTabelle As String

    DeinPfad = "C:\Temp\" ' Ändere diesen Pfad auf den Ordner mit Deinen Dateien
    QuellTabelle = "Project View" ' Name des Blattes in den Quelldateien
    ZielTabelle = "Mastertabelle" ' Name des Blattes in der Masterdatei

    DateiName = Dir(DeinPfad & "*.xls")

    Do While DateiName <> ""
        If ThisWorkbook.Name <> DateiName Then
            Workbooks.Open Filename:=DeinPfad & DateiName
            Workbooks(DateiName).Worksheets(QuellTabelle).Range(Cells(3, 1), Cells(Worksheets(QuellTabelle).UsedRange.SpecialCells(xlCellTypeLastCell).Row, Worksheets(QuellTabelle).UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Copy _
            ThisWorkbook.Worksheets(ZielTabelle).Range("A" & ThisWorkbook.Worksheets(ZielTabelle).Range("A" & Rows.Count).End(xlUp).Row + 1)
            Workbooks(DateiName).Close
        End If
        DateiName = Dir
    Loop
    Call EventsOn
End Sub

Public Sub EventsOff()
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
End Sub

Public Sub EventsOn()
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub
  1. Passe die Variablen DeinPfad, QuellTabelle und ZielTabelle an Deine Bedürfnisse an.
  2. Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.

Häufige Fehler und Lösungen

  • Fehler: Das Makro führt nichts aus.

    • Lösung: Stelle sicher, dass der Pfad korrekt ist und die Quelldateien sich im angegebenen Ordner befinden.
  • Fehler: Die Daten werden nicht wie gewünscht kopiert.

    • Lösung: Überprüfe, ob der Name des Quelldokuments und der Tabellennamen korrekt angegeben sind.
  • Fehler: Es wird eine Fehlermeldung wegen geschützter Zellen angezeigt.

    • Lösung: Überprüfe, ob die Zellen in den Quelldateien geschützt sind. Geschützte Zellen können nicht kopiert werden.

Alternative Methoden

Falls Du kein Makro verwenden möchtest, gibt es auch andere Möglichkeiten, Excel Tabellen zusammenzuführen:

  • Power Query: Mit Power Query kannst Du Daten aus mehreren Excel-Dateien importieren und transformieren. Dies ist ideal, wenn Du eine dynamische Lösung benötigst.
  • Manuelles Kopieren: Du kannst die Daten manuell kopieren und in die Mastertabelle einfügen. Dies ist jedoch zeitaufwendig und weniger effizient.

Praktische Beispiele

  1. Daten aus 20 Excel-Dateien zusammenführen: Wenn Du 20 Projektdateien hast, die alle ein Blatt namens "Project View" enthalten, kannst Du das oben genannte Makro verwenden, um alle Daten in die Mastertabelle zu integrieren.

  2. Daten aus verschiedenen Tabellenblättern zusammenführen: Wenn Du Daten aus mehreren Blättern in einer Datei hast, kannst Du die Funktion Union in VBA verwenden, um sie in einer neuen Tabelle zusammenzuführen.


Tipps für Profis

  • Daten automatisch aktualisieren: Du kannst das Makro so anpassen, dass es beim Öffnen der Masterdatei automatisch ausgeführt wird.
  • Fehlerüberprüfung einbauen: Füge Fehlerbehandlungsroutinen in Dein Makro ein, um Probleme während des Kopierens zu identifizieren und zu beheben.
  • Makros speichern: Speichere Deine Excel-Datei als .xlsm, um die Makros zu erhalten.

FAQ: Häufige Fragen

1. Kann ich mehrere Excel-Dateien ohne Makro zusammenführen?
Ja, Du kannst Power Query verwenden, um Daten aus mehreren Excel-Dateien in einer Abfrage zusammenzuführen.

2. Wie kann ich Excel Daten aus verschiedenen Tabellenblättern zusammenführen?
Du kannst Daten aus verschiedenen Tabellenblättern mit VBA oder Power Query zusammenführen, indem Du die Blätter in eine neue Mastertabelle importierst.

3. Was ist der Unterschied zwischen Copy und PasteSpecial in VBA?
Copy kopiert die Werte und Formate, während PasteSpecial dir erlaubt, nur Werte oder Formate einzufügen, was nützlich sein kann, um nur benötigte Daten zu übertragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige