Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellen untereinander kopieren

Tabellen untereinander kopieren
07.10.2005 06:25:28
Maria
Hallo,
ich habe eine Mappe mit 6 Tabellenblaettern.
In allen Blaettern sind die gleichen Spalten, aber unterschiedlich viele Zeilen.
Ich moechte nun in einem 7. Tabellenblatt alle anderen 6 Tabellenblaetter zusammenkopieren.
Das ganze soll moeglichst per Makro funktionieren, da sich die Anzahl der beschriebenen Zeilen in den ersten 6 Arbeitsblaettern schnell aendern kann und ich nicht per Hand alles immer zusammenkopieren will.
Im 7. Blatt sollen also alle Werte der ersten 6 Blaetter ohne Leerzeilen erscheinen. (In den 6 Arbeitsblaettern sind auch keine Leerzeilen!)
Herzlichen Dank fuer eure Hilfe...
Maria
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen untereinander kopieren
07.10.2005 08:07:23
Heiko
Hallo Maria,
das könnte z.B. so gehen.

Sub ZusammenFuehren()
Dim intSheets As Integer
Dim lngLastRow As Long
' Das nur wenn gewünscht, löscht die letzte Tabelle vor dieser Aktion.
' Sheets(ActiveWorkbook.Sheets.Count).Cells.Delete
For intSheets = 1 To ActiveWorkbook.Sheets.Count - 1
Sheets(intSheets).UsedRange.Copy
lngLastRow = Sheets(ActiveWorkbook.Sheets.Count).Cells(65536, 1).End(xlUp).Row + 1
Sheets(ActiveWorkbook.Sheets.Count).Paste Destination:=Sheets(ActiveWorkbook.Sheets.Count).Cells(lngLastRow, 1)
Next intSheets
Application.CutCopyMode = False
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Danke, noch eine Aenderung
07.10.2005 09:57:11
Maria
Hallo,
das funktioniert schonmal sehr gut.
Gibt es vielleicht noch eine Moeglichkeit, dass die erste Zeile nicht mitkopiert wird? Da ist naemlich die ueberschrift drin und die brauche ich nicht.
Herzlichen Dank schonmal.
Hm, weisst du zufaellig wie mein 2. Problem zu loesen ist?
Ich habe eine Mappe mit 2 Blaettern. Auf dem ersten werden die Daten eingegeben und auf dem 2. per WENN etc. eingefuegt. Das funktioniert auch super gut.
Nur wenn man im 1. Blatt eine Zeile einfuegt, dann erscheint diese nicht im 2. weil die Formeln nach unten "rutschen". Ich weiss ich koennte beide Blaetter auswaehlen und dann wuerde auch in beiden Blaettern eine Zeile eingefuegt, aber da ich die Daten nicht selber eingebe, soll das ganze moeglichst Idiotensicher sein.
Geht das vielleicht ohne Makro?
Danke, Danke, Danke...
Maria
Anzeige
AW: Danke, noch eine Aenderung
07.10.2005 10:27:47
Heiko
Hallo Maria,
hier die Änderung:

Sub ZusammenFuehren()
Dim intSheets As Integer
Dim lngLastRow As Long
' Das nur wenn gewünscht, löscht die letzte Tabelle vor dieser Aktion.
Sheets(ActiveWorkbook.Sheets.Count).Cells.Delete
For intSheets = 1 To ActiveWorkbook.Sheets.Count - 1
Sheets(intSheets).UsedRange.Copy
lngLastRow = Sheets(ActiveWorkbook.Sheets.Count).Cells(65536, 1).End(xlUp).Row + 1
Sheets(ActiveWorkbook.Sheets.Count).Paste Destination:=Sheets(ActiveWorkbook.Sheets.Count).Cells(lngLastRow, 1)
Sheets(ActiveWorkbook.Sheets.Count).Rows(lngLastRow).Delete
Next intSheets
Application.CutCopyMode = False
End Sub

Zum 2. Problem, würde ich vorschlagen einen neuen Thread aufzumachen, da ich dir auf die schnelle dazu keinen Vorschlag machen kann. Schau aber vorher nochmal unter "SERVICES" in der Recherche nach, denn das ist bestimmt kein neues Problem.

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Danke, noch eine Aenderung
07.10.2005 11:27:08
Maria
Herzlichen Dank!!! Funktioniert super!!!! DANKE
Das ist super... eine Aenderung vielleicht noch?
07.10.2005 11:00:03
Maria
Hallo,
das funktioniert schonmal sehr gut.
Gibt es vielleicht noch eine Moeglichkeit, dass die erste Zeile nicht mitkopiert wird? Da ist naemlich die ueberschrift drin und die brauche ich nicht.
Herzlichen Dank schonmal.
Hm, weisst du zufaellig wie mein 2. Problem zu loesen ist?
Ich habe eine Mappe mit 2 Blaettern. Auf dem ersten werden die Daten eingegeben und auf dem 2. per WENN etc. eingefuegt. Das funktioniert auch super gut.
Nur wenn man im 1. Blatt eine Zeile einfuegt, dann erscheint diese nicht im 2. weil die Formeln nach unten "rutschen". Ich weiss ich koennte beide Blaetter auswaehlen und dann wuerde auch in beiden Blaettern eine Zeile eingefuegt, aber da ich die Daten nicht selber eingebe, soll das ganze moeglichst Idiotensicher sein.
Geht das vielleicht ohne Makro?
Danke, Danke, Danke...
Maria
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellen untereinander kopieren


Schritt-für-Schritt-Anleitung

Um mehrere Tabellenblätter in ein Tabellenblatt zu kopieren, kannst Du die folgende VBA-Makro-Lösung verwenden. Dieses Skript ermöglicht es, alle Tabellenblätter zusammenzuführen, ohne dass Leerzeilen entstehen.

  1. Öffne Deine Excel-Datei mit den Tabellenblättern.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Kopiere den folgenden Code in das Modul:
Sub ZusammenFuehren()
    Dim intSheets As Integer
    Dim lngLastRow As Long
    ' Löscht das letzte Tabellenblatt vor dieser Aktion.
    Sheets(ActiveWorkbook.Sheets.Count).Cells.Delete
    For intSheets = 1 To ActiveWorkbook.Sheets.Count - 1
        Sheets(intSheets).UsedRange.Copy
        lngLastRow = Sheets(ActiveWorkbook.Sheets.Count).Cells(65536, 1).End(xlUp).Row + 1
        Sheets(ActiveWorkbook.Sheets.Count).Paste Destination:=Sheets(ActiveWorkbook.Sheets.Count).Cells(lngLastRow, 1)
        Sheets(ActiveWorkbook.Sheets.Count).Rows(lngLastRow).Delete
    Next intSheets
    Application.CutCopyMode = False
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem Du ALT + F8 drückst und das Skript auswählst.

Dieses Skript kopiert die Daten aus allen Tabellenblättern in das letzte Tabellenblatt und entfernt die erste Zeile, die normalerweise die Überschrift enthält.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Dieser Fehler tritt auf, wenn das Skript versucht, auf ein nicht existentes Blatt zuzugreifen. Stelle sicher, dass mindestens zwei Blätter vorhanden sind.
  • Fehler: Daten werden nicht korrekt zusammengeführt.

    • Lösung: Überprüfe, ob alle Quellblätter die gleiche Struktur (d.h. die gleichen Spalten) haben. Andernfalls kann es zu unerwarteten Ergebnissen kommen.

Alternative Methoden

Wenn Du keine Makros verwenden möchtest, kannst Du auch manuell die Daten kopieren und einfügen:

  1. Öffne das erste Tabellenblatt.
  2. Markiere den gewünschten Bereich, kopiere ihn (CTRL + C).
  3. Gehe zum Zielblatt und füge die Daten ein (CTRL + V).
  4. Wiederhole diesen Vorgang für jedes Tabellenblatt.

Eine andere Möglichkeit ist die Verwendung von Power Query, um mehrere Tabellen untereinander zusammenzuführen:

  1. Gehe zu Daten > Abrufen und transformieren > Daten abrufen.
  2. Wähle Aus anderen Quellen > Leere Abfrage.
  3. Verwende den Editor, um die Abfragen zu kombinieren.

Praktische Beispiele

Nehmen wir an, Du hast drei Tabellenblätter mit Verkaufsdaten. Jedes Blatt hat die Spalten Produkt, Verkäufe und Monat. Um alle diese Daten in ein einziges Blatt zu kopieren, solltest Du das obenstehende Makro verwenden, um sicherzustellen, dass die Daten ohne Leerzeilen zusammengeführt werden.


Tipps für Profis

  • Wenn Du regelmäßig Daten aus mehreren Tabellenblättern zusammenführen musst, speichere Dein Makro als Vorlage, um es schnell wiederverwenden zu können.
  • Achte darauf, dass Du die Daten in einer konsistenten Formatierung hast, um Fehler zu minimieren.
  • Nutze die Datenüberprüfung, um sicherzustellen, dass die Eingabewerte in den Blättern konsistent sind.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in ein Tabellenblatt kopieren ohne Makro? Du kannst die Daten manuell kopieren oder Power Query verwenden, um die Tabellen untereinander zusammenzuführen.

2. Was passiert, wenn ich ein Blatt mit unterschiedlichen Spaltenstrukturen habe? Das Skript funktioniert nur, wenn alle Tabellenblätter die gleiche Struktur haben. Andernfalls können die Daten ungenau zusammengeführt werden.

3. Kann ich das Makro anpassen, um bestimmte Daten auszuschließen? Ja, Du kannst die Bedingung im Skript entsprechend anpassen, um nur bestimmte Daten zu kopieren.

4. Wie kann ich das Makro schneller ausführen? Du kannst eine Schaltfläche in Deinem Arbeitsblatt erstellen, die das Makro ausführt, um es einfacher zu machen.

5. Ist das Skript in allen Excel-Versionen nutzbar? Ja, das VBA-Skript sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige