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

Forumthread: Mehrere Excel-Tabellen untereinander schreiben

Mehrere Excel-Tabellen untereinander schreiben
18.11.2012 22:54:30
Verzweifelter
Hallo,
ich möchte per Makro mehrere Dateien, die auf verschiedenen Tabellenblättern liegen, in einem neuen Blatt zusammenführen, um sie dann hinterher mit Pivot auswerten zu können. Die Auswertungsmöglichkeiten von Pivot bei mehreren Konsolidierungsbereichen sind für diesen Zweck nicht ausreichend.
Die Tabellen sind gleich aufgebaut, kommen nur regelmäßig von verschiedenen Stellen mit neuen Daten.
Ist es also möglich, per Makro z. B. Tabelle 1 (von Blatt1), Tabelle2 (von Blatt2) und Tabelle 3 (von Blatt3) auf Blatt 4 untereinander darzustellen? und dann eventuell später nur Änderungen und neue Zeilen aus den Quelltabellen zu aktualisieren?
Über Hilfe würde ich mich sehr freuen.
Vielen herzlichen Dank schon im Voraus.
der verzweifelte Nutzer

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Excel-Tabellen untereinander schreiben
19.11.2012 01:05:45
Peter
Lieber Nutzer,
kein Grund zur Verzweiflung! Das Untereinanderfügen mehrerer Tabellen (mit dem gleichen Aufbau) per Makro ist kein Problem. Für ein solches kleines Programm fehlen jedoch noch einige Anhaltspunkte:
1. Wenn die Dateien von verschiedenen Stellen kommen, müssten diese ja zunächst in die Sammeltabelle, auch das könnte per Makro besorgt werden.
2. Sind die ankommenden Dateien von der Anzahl her endlich und haben sie festgelegte Namen?
3. Wenn Pkt. 2 mit "ja" beantwortet werden kann, müssen dann die eingehenden Dateien in der Zieldatei
nocheinmal auf den einzelnen Arbeitsblättern erscheinen, oder genügt die Zusammenfassung auf einem Blatt?
Es wäre gut, wenn Du eine Musterdatei hochladen könntest. Ich bin dann gerne bereit, weiter zu helfen.
Mit freundlichem Gruß
Peter Kloßek

Anzeige
AW: Mehrere Excel-Tabellen untereinander schreiben
19.11.2012 10:59:14
verzweifelter
Hallo,
Hallo Peter,
als allererstes möchte ich mich für Deine Hilfsbereitschft bedanken.
hier eine Beispieldatei
https://www.herber.de/bbs/user/82674.xlsx
- nur die Tabellen mit einigen Einträgen. Es sind hier im Beispiel nur zwei Arbeitsblätter, in der endgültigen Datei werden es dann drei Blätter mit drei Tabellen sein, die zusammengefügt werden.Die ausführlichere Beispieldatei war zu groß (wegen s-verweisen, quelladressen, bedingten Formatierungen und Drop-Down Menüs).
Ich wollte aus den ankommenden Dateien die Tabellenblätter jeweils per Hand in die Arbeitsmappe einfügen und die alten Versionen herausnehmen, um das Ganze zu vereinfachen. Den Tabellenblättern wollte ich dann immer feststehende Namen geben: Auftrag 1, Auftrag 2 und Auftrag 3.
Wenn es aber ohne großen Aufwand möglich wäre, dieses Einfügen der Tabellenblätter per Makro zu erledigen und sie dann in das Arbeitsblatt, was die Quelle für die Pivot-Auswertungen ist, einzufügen, dann wäre das super. Es wären maximal zwei Tabellen, die ankommen - die dritte ist in der von mir bearbeiteten Arbeitsmappe gespeichert in der auch die Zusammenfassung dann stehen soll.
Was die feststehenden Namen angeht: ich kann die per Mail zu mir kommenden Dateien immer unter feststehenden Namen an immer der selben Stelle im gleichen Verzeichnis wie die Zusammenfassung speichern.
Ist es möglich auch Formatierungen automatisch mitzukopieren? Es werden auf jeden Fall noch bedingte Formatierungen auftauchen. Und eine Frage zum Kopieren generell: werden die Daten (Zahlen und Text) kopiert oder auch die hinterlegten Formeln? Für mich würde es ausreichen, wenn die Daten kopiert werden und dann bei Änderung im Quellblatt aktualisiert werden können, das wäre wegen der sverweis-Formeln, die in den Originalquellen teilweise hinterlegt werden, einfacher.
Vielen Dank schon einmal im Voraus und ganz ganz herzliche Grüße
der verzweifelte Nutzer

Anzeige
AW: Mehrere Excel-Tabellen untereinander schreiben
19.11.2012 11:17:10
Peter
Hallo,
schönen Dank für das Hochladen der Datei. Ich gehe mal davon aus, dass jede Datei über ein oder mehrere Arbeitsblätter verfügt, die allesamt untereinander geschrieben werden sollen. Werde mich gleich an die Arbeit machen - es wird aber etwas dauern.
MfG
Peter Kloßek

Anzeige
AW: Mehrere Excel-Tabellen untereinander schreiben
19.11.2012 11:54:54
der
Hallo Peter,
toll, dass Du so schnell geantwortet hast. Es geht pro Datei nur um ein einziges Tabellenblatt, welches herauskopiert werden soll - die anderen Blätter sind: Adressliste für die SVerweise, Inhalte der Drop-Down-Felder und eventuell einige Pivot-Auswertungen. Für meine Datei ist aber jeweils nur ein einzelnes Blatt wichtig.
Toll, dass es Leute wie Dich gibt, die ihr Wissen Rat suchenden zur Verfügung stellen -- ganz herzlichen Dank dafür!
Der (jetzt nicht mehr) verzweifelte Nutzer

Anzeige
..was bedeutet die Info-Name.....
19.11.2012 12:09:26
robert
Hi Namenloser
Du solltest schon mit einem realen Namen abschliessen-siehe wie es Peter macht ;-)
Gruß robert

AW: Mehrere Excel-Tabellen untereinander schreiben
19.11.2012 13:23:01
Peter
Hallo,
schön, dass Du Dich noch mal gemeldet hast; ich war schon auf dem Holzweg gewesen. Es ist also nur ein Arbeitsblatt pro Datei. Bitte, schlage das zu kopierende Blatt auf und speichere die Datei auf einen gesonderten Pfad. Genauso alle anderen in Frage kommenden Dateien, einschließlich Deiner eigenen. Es dürfen hier keine anderen Dateien stehen. Die "Regie"-Datei bitte auf einen anderen Pfad speichern! In meiner Lösung kommen mehrere gleichartige Arbeitsblätter in einer Datei vor. Du kannst damit experimentieren und jeweils verschiedene Arbeitsblätter aufschlagen, dann speichern und die Konsolidierung vornehmen.
Hier die ZIP-Datei:
https://www.herber.de/bbs/user/82677.zip
Bitte, teile mir mit, ob es damit klappt oder ob noch Anpassungen vorgenommen werden müssen.
MfG
Peter Kloßek

Anzeige
AW: Mehrere Excel-Tabellen untereinander schreiben
20.11.2012 08:57:23
Dagmar
Hallo Peter,
vielen Dank für die Datei, ich sitze jetzt daran und werde schauen, ob es klappt.
Herzliche Grüße
Dagmar
(ich wusste nicht, dass man hier generell unter Klarnamen schreibt, sorry)

Muss man nicht, Hptsache (Vor)Name! ;-) Gruß owT
20.11.2012 10:46:57
Luc:-?
:-?

@Dagmar....
20.11.2012 14:25:24
robert
Hi Dagmar
Du kannst ruhig Deine Beiträge zB. mit "Verzweifelte" einstellen,
als Gruß am Ende sollte aber schon ein realer Name stehen ;-)
Gruß
robert

Anzeige
AW: @Dagmar....
21.11.2012 11:17:30
Dagmar
Hallo,
ich bin jetzt dabei, die Datei zu bearbeiten und das Makro anzupassen, damit ich dabei lerne, wie das Ganze funktioniert. Leider scheitere ich schon ziemlich am Anfang und bekomme immer eine Fehlermeldung, dass mit der Select Methode Range("A2:W5000").Select etwas nicht stimmt. Woran könnte das liegen?
Private Sub CommandButton2_Click()
'Hier wird der Bereich a2 bis w1000 geleert, damit dann die neuen DAten eingefügt werden können
Sheets("Auftrag").Select
Range("A2:W5000").Select
Selection.ClearContents
End Sub
Weiß jemand einen Rat für mich
Vielen Dank
Dagmar

Anzeige
Lösung gefunden für Select-Problem
21.11.2012 11:56:09
Dagmar
Hi,
Habe noch ein wenig herumprobiert, jetzt sieht es so aus und geht:
Private Sub CommandButton2_Click()
Worksheets("Auftrag").Select
ActiveSheet.Range("A2:W5000").Select
Selection.ClearContents
End Sub
Mal sehen, ob der Rest auch klappt. Auf jeden Fall schon einmal vielen Dank an Peter vor allem. Werde mich wieder melden, wenn es nicht weiter geht.
Viele Grüße
Dagmar

Anzeige
AW: Lösung gefunden für Select-Problem
21.11.2012 16:30:42
Peter
Hallo Dagmar,
Vorsicht mit dem Löschen von Daten. Mein Lösungsansatz sieht vor, dass es eine Datei "Regie" gibt, aus der heraus das Ganze gesteuert wird. Gelöscht wird der Bereich "a2:w5000" im Arbeitsblatt "Konsolidierung" in der Datei "Regie" - und nicht in der Datei "Auftrag1". Man kann nicht hergehen, und Teile von dem Makro einfach woandershin versetzen, dann funktioniert das Ganze nicht mehr. Hier noch mal die Vorgehensweise:
1. Eröffne einen Pfad neu speziell für die Auftragsdateien.
2. Öffne die 1. Auftragsdatei und wähle das Arbeitsblatt aus, welches Du konsolidieren willst.
3. Speichere die Datei in den neu eingerichteten Pfad.
4. Verfahre ebenso mit den anderen Auftragsdateien.
5. Öffne die "Regie"-Datei (die kannst Du irgendwo unterbringen, jedoch nicht auf dem Pfad mit den Auftragsdateien).
6. Trage bitte unter "Sammelpfad für Auftragskonsolidierung" den Pfadnamen, den Du eingerichtet hast, ein.
7. Betätige dann den Button "Konsolidierung starten".
Wenn sich der Inhalt einer Auftragsdatei ändert, so verfahren wie oben beschrieben und die Datei in dem speziellen Pfad überschreiben (ersetzen). In der Datei "Regie" einfach neu starten. Die Aktualisierung befindet sich anschließend in dem Arbeitsblatt "Konsolidierung".
Wenn weitere Fragen auftauchen sollten, einfach nochmal melden.
Mit freundlichem Gruß
Peter Kloßek
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Excel-Tabellen untereinander zusammenführen


Schritt-für-Schritt-Anleitung

Um mehrere Excel-Tabellen untereinander zu schreiben, kannst Du ein Makro verwenden. Hier ist eine einfache Anleitung, um dies zu erreichen:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:

    Sub TabellenZusammenfuehren()
       Dim ws As Worksheet
       Dim wsZiel As Worksheet
       Dim letzteZeile As Long
       Dim i As Integer
    
       Set wsZiel = ThisWorkbook.Sheets("Zusammenfassung") ' Arbeitsblatt für die Zusammenfassung
    
       For i = 1 To ThisWorkbook.Sheets.Count
           Set ws = ThisWorkbook.Sheets(i)
           If ws.Name <> "Zusammenfassung" Then
               letzteZeile = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Row + 1
               ws.UsedRange.Copy wsZiel.Cells(letzteZeile, 1)
           End If
       Next i
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus:

    • Gehe zu Entwicklertools > Makros, wähle TabellenZusammenfuehren und klicke auf Ausführen.

Diese Schritte ermöglichen es Dir, mehrere Tabellenblätter untereinander zusammenzuführen.


Häufige Fehler und Lösungen

  • Fehler: "Select Methode nicht gefunden"

    • Lösung: Stelle sicher, dass Du die richtigen Arbeitsblätter und Bereiche angibst. Verwende Worksheets("Name").Range("A2:W5000") anstelle von Select.
  • Fehler: Daten werden nicht kopiert

    • Lösung: Überprüfe, ob das Makro die richtigen Blätter berücksichtigt. Achte darauf, dass das Zielblatt existiert.
  • Fehler: Makro funktioniert nicht

    • Lösung: Stelle sicher, dass Du die Makros in der Datei aktivierst und dass Du die richtigen Berechtigungen hast.

Alternative Methoden

Wenn Du nicht mit Makros arbeiten möchtest, kannst Du auch die Funktion „Kopieren und Einfügen“ verwenden:

  1. Kopiere die Daten von einem Arbeitsblatt.
  2. Wechsle zum Zielarbeitsblatt, klicke auf die Zelle, unter der die Daten eingefügt werden sollen, und wähle Einfügen.
  3. Wiederhole den Vorgang für alle anderen Blätter.

Eine weitere Alternative ist die Verwendung von Power Query, um mehrere Excel-Dateien automatisch zusammenzuführen.


Praktische Beispiele

  1. Zusammenführen von zwei Excel-Tabellen: Wenn Du zwei Tabellen hast, die gleich aufgebaut sind, kannst Du sie einfach untereinander in ein neues Blatt einfügen.

    Beispiel:

    • Tabelle 1: A1:B10
    • Tabelle 2: A1:B10
    • Resultat im Zielblatt: A1:B20
  2. Dynamisches Zusammenführen: Mit Power Query kannst Du mehrere Excel-Dateien in einem Ordner automatisch zusammenführen. So bleibt die Übersichtlichkeit gewahrt und Du kannst jederzeit neue Daten hinzufügen.


Tipps für Profis

  • Verwende benannte Bereiche: Es kann hilfreich sein, benannte Bereiche in Deinen Excel-Dateien zu nutzen, um die Daten einfacher zu referenzieren.

  • Aktualisierungen automatisieren: Stelle sicher, dass Deine Makros so eingerichtet sind, dass sie Daten automatisch aktualisieren, wenn sich etwas in den Quellblättern ändert.

  • Fehlerprotokollierung: Füge eine Fehlerprotokollierung in Dein Makro ein, um Probleme schnell zu identifizieren.


FAQ: Häufige Fragen

1. Ist es möglich, mehrere Excel-Dateien automatisch zusammenzuführen? Ja, Du kannst VBA oder Power Query verwenden, um mehrere Excel-Dateien in einer Arbeitsmappe zusammenzuführen.

2. Wie kann ich zwei Excel-Tabellen untereinander zusammenführen, wenn sie unterschiedliche Spaltenbreiten haben? Du kannst die Spaltenbreiten manuell anpassen oder die Daten in eine einheitliche Struktur bringen, bevor Du sie zusammenführst.

3. Werden die Formeln beim Kopieren auch übernommen? Das hängt von Deiner Kopiermethode ab. Wenn Du „Werte einfügen“ wählst, werden nur die Ergebnisse übernommen, nicht die Formeln.

4. Wie kann ich Pivot-Tabellen aus mehreren Arbeitsblättern erstellen? Du kannst Pivot-Tabellen aus einem konsolidierten Arbeitsblatt erstellen oder die Funktion „PivotTable“ verwenden, um mehrere Datenquellen zu kombinieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige