Tabellenblätter in neue Arbeitsmappen verschieben
Schritt-für-Schritt-Anleitung
Um Excel-Blätter in eine andere Arbeitsmappe zu kopieren oder zu verschieben, kannst Du das folgende VBA-Makro verwenden:
Sub Verschieben()
Dim wbAlt As Workbook, wbNeu As Workbook
' "alte" Mappe referenzieren:
Set wbAlt = ActiveWorkbook
' erstes Blatt verschieben, neue Mappe erzeugen:
wbAlt.Sheets("Tabelle1").Move
' neue Mappe referenzieren:
Set wbNeu = ActiveWorkbook
wbAlt.Sheets("Tabelle2").Move After:=wbNeu.Sheets(wbNeu.Sheets.Count)
wbAlt.Sheets("Tabelle3").Move After:=wbNeu.Sheets(wbNeu.Sheets.Count)
' Namen vergeben nur durch Speichern möglich:
wbNeu.SaveAs Filename:=ThisWorkbook.Path & "\Verschoben.xls"
End Sub
Dieses Makro ermöglicht es Dir, mehrere Excel-Blätter in eine neue Arbeitsmappe zu verschieben. Du kannst die Tabellenblätter nach Belieben anpassen. Um das Makro auszuführen, öffne den VBA-Editor (Alt + F11), füge ein neues Modul hinzu und kopiere den Code hinein.
Häufige Fehler und Lösungen
Alternative Methoden
Es gibt auch alternative Methoden, um Excel-Arbeitsblätter in andere Arbeitsmappen zu kopieren:
- Drag & Drop: Halte die Strg-Taste gedrückt und ziehe das Tabellenblatt auf das Symbol der Zielarbeitsmappe in der Taskleiste.
- Kopieren und Einfügen: Kopiere das Blatt (Rechtsklick auf das Blatt > "Kopieren") und füge es in die andere Arbeitsmappe ein (Rechtsklick > "Einfügen").
Praktische Beispiele
Angenommen, Du möchtest die Tabellenblätter "Tabelle1", "Tabelle2" und "Tabelle3" in eine neue Arbeitsmappe verschieben. Du kannst das oben gezeigte Makro anpassen, um diese Blätter zu verschieben.
Ein Beispiel für die Anpassung wäre:
wbAlt.Sheets("Tabelle1").Move
wbAlt.Sheets("Tabelle2").Move After:=wbNeu.Sheets(wbNeu.Sheets.Count)
wbAlt.Sheets("Tabelle3").Move After:=wbNeu.Sheets(wbNeu.Sheets.Count)
Tipps für Profis
- Makros als Add-Ins speichern: Wenn Du das Makro in mehreren Arbeitsmappen verwenden möchtest, speichere es als Excel-Add-In, damit Du jederzeit darauf zugreifen kannst.
- Dynamische Arbeitsmappen: Verwende
ThisWorkbook
und ActiveWorkbook
, um sicherzustellen, dass Dein Makro immer auf die richtige Arbeitsmappe zugreift, unabhängig vom Dateinamen.
FAQ: Häufige Fragen
1. Wie kann ich das Makro so anpassen, dass es immer die neuesten Blätter verschiebt?
Du kannst eine Schleife einfügen, die alle Blätter durchläuft und nur die auswählt, die Du verschieben möchtest.
2. Ist es möglich, den Namen der neuen Arbeitsmappe dynamisch zu vergeben?
Ja, Du kannst den Namen der neuen Arbeitsmappe im SaveAs
-Befehl anpassen, indem Du eine Variable verwendest, die den gewünschten Namen speichert.