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

Forumthread: Tabellenblätter in neue Arbeitsmappen verschieben

Tabellenblätter in neue Arbeitsmappen verschieben
19.04.2006 16:49:22
kunstname
Hallo Ihr Excel-Experten :-)
Ich habe folgendes "Problem":
Aus einer Arbeitsmappe sollen mehrere (aber nicht alle, sondern nur die Tabellenblätter, welche ich mit meinem Makro festlege) Tabellenblätter in eine Arbeitsmappe verschoben werden, welche nach Ausführen des Makros automatisch neu erstellt wird. Ist es auch möglich dieser neuen Arbeitsmappe auch gleich einen Namen per Makro zu geben?
Vielen Dank schon mal im Voraus!
Viele Grüße
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter in neue Arbeitsmappen verschie
19.04.2006 16:59:19
Matthias
Hallo, Du namenloser, anonymer Geselle,
Sheets("Tabelle1").Move
verschiebt das Blatt in eine neue Mappe.
Diese kannst du dann mit
Set wb = ActiveWorkbook
speichern. Für die nächsten Blattverschiebungen.
Gruß Matthias
AW: Tabellenblätter in neue Arbeitsmappen verschieben
19.04.2006 17:33:12
kunstname
Hi Matthias :-)
Vielen Dank für die schnelle Antwort!!! Gibt es auch eine Möglichkeit, dass ich von der Ursprungs-Excelmappe mehrere Tabellenblätter in EINE neue Arbeitsmappe (die auch mit dem Makro erstellt werden soll und der ein Name vergeben wird, den ich zuvor im Makro festlege)verschieben kann? Mit deiner Formel kann ich leider immer nur EIN Tabellenblatt in 1 neue Arbeitsmappe verschieben. Vielen Dank!!!!
Anzeige
AW: Tabellenblätter in neue Arbeitsmappen verschie
19.04.2006 17:43:43
Matthias
Hallo noname,

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)
'usw
'usf
'Namen vergeben nur durch Speichern möglich:
wbNeu.SaveAs Filename:=ThisWorkbook.Path & "\Verschoben.xls"
End Sub

Gruß Matthias
Anzeige
AW: Tabellenblätter in neue Arbeitsmappen verschie
20.04.2006 11:08:27
kunstname
Hallo Matthias :-)
Vielen Dank für deine Antwort! Das funktioniert einwandfrei! Nur möchte ich aus der Ursprungsdatei bspw. 6 Tabellenblätter in eine neue Arbeitsmappe verschieben, dann möchte ich wieder zurück zur Ursprungsdatei und andere Tabellenblätter wiederum in eine neue Arbeitsmappe verschieben usw. Die Ursprungsdatei wird wöchentlich aktualisiert und ihr wird immer ein neuer Name zugewiesen. Ich bräuchte also ein Makro, welches sich nicht auf den "richtigen" Namen der Ursprungsdatei bezieht, sonst müßte ich ja mein Makro wöchentlich ändern :-( ... Ich hoffe, es ist verständlich...vielen vielen lieben Dank und viele Grüße!!!!
Anzeige
AW: Tabellenblätter in neue Arbeitsmappen verschie
20.04.2006 11:13:04
Matthias
Hallo kn,
in welcher Mappe steht denn das Makro?
du kannst Mappen z.B. so referenzieren:
  • ThisWorkbook (Mappe, in der das Makro steht)
  • ActiveWorkbook (aktive Mappe)
    Gruß Matthias
  • AW: Tabellenblätter in neue Arbeitsmappen verschie
    20.04.2006 11:41:26
    kunstname
    Hi Matthias :-)
    Das Makro ist in der Ursprungsdatei. Jede Woche bekomme ich eine neue Ursprunsdatei. Mein Makro ist in allen Arbeitsmappen als Add-in sichtbar, so dass ich von jeder Mappe darauf zugreifen kann. Danke schon mal, Grüße aus Bayern
    Anzeige
    AW: Tabellenblätter in neue Arbeitsmappen verschie
    20.04.2006 11:57:11
    Matthias
    Hallo kn,
    Das Makro ist in der Ursprungsdatei.
    und:
    Mein Makro ist in allen Arbeitsmappen als Add-in sichtbar
    Das widerspricht sich irgendwie, oder?
    Gruß aus Franken,
    Matthias
    AW: Tabellenblätter in neue Arbeitsmappen verschie
    20.04.2006 12:49:10
    kunstname
    Hi :-)
    Was ich eigentlich gemeint aber nicht geschrieben habe ist ;-): Das Makro ist momentan in der Ursprungsdatei. Soll aber, wenn ich es irgendwie hinbekomme, ALLEN Arbeitsmappen zur Verfügung stehen. Dankeschöööön :-)
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige
    Anzeige

    Infobox / Tutorial

    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

    • Fehler: Das Makro verschiebt nur ein Blatt.

      • Lösung: Stelle sicher, dass Du das Makro entsprechend anpasst, um mehrere Blätter auszuwählen und zu verschieben, wie im obigen Beispiel gezeigt.
    • Fehler: Fehlermeldung beim Speichern.

      • Lösung: Überprüfe den Pfad, den Du im SaveAs-Befehl angibst. Stelle sicher, dass der Ordner existiert und Du die notwendigen Berechtigungen hast.

    Alternative Methoden

    Es gibt auch alternative Methoden, um Excel-Arbeitsblätter in andere Arbeitsmappen zu kopieren:

    1. Drag & Drop: Halte die Strg-Taste gedrückt und ziehe das Tabellenblatt auf das Symbol der Zielarbeitsmappe in der Taskleiste.
    2. 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.

    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