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: Tabellenblatt in andere Mappe kopieren

Tabellenblatt in andere Mappe kopieren
16.11.2015 00:31:56
Hecke
Hallo Forum,
ich brauche mal Hilfe bei meinem Problem.
Über einen Button auf dem aktiven Tabellenblatt möchte ich dieses Blatt als Kopie in eine andere geschlossene Arbeitsmappe speichern.
Name des "neuen" Tabellenblattes in der neuen Mappe der Wert der in Zelle J1 steht.
Auswahl wohin kopiert werden soll über den speichern unter Dialog.
Wenn die Mappe in der das Blatt gespeichert werden soll vorher geöffnet werden muss, dann sollte das im Hintergrund passieren.
Nach dem Speichern in der ausgewählten Mappe, diese dann speichern und schließen
Die Quelldatei und das Quelltabellenblatt soll weiterhin geöffnet bleiben.
Ich hoffe ihr könnt mir dabei etwas helfen.
Danke Euch

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in andere Mappe kopieren
16.11.2015 08:55:11
Michael
Hallo Hecke!
zB so:
Sub BlattKopieInMappe()
Dim Quelle As Workbook
Dim Ziel As Workbook
Dim Dialog As FileDialog
Dim Blatt As Worksheet
Application.ScreenUpdating = False
Set Quelle = ThisWorkbook
Set Blatt = Quelle.ActiveSheet
Set Dialog = Application.FileDialog(msoFileDialogFilePicker)
With Dialog
.Title = "Bitte Zieldatei wählen"
.AllowMultiSelect = False
If .Show  -1 Then
MsgBox "Vorgang abgebrochen", vbInformation
Exit Sub
Else:
Set Ziel = Workbooks.Open(.SelectedItems(1))
End If
End With
With Ziel
Blatt.Copy after:=.Worksheets(.Worksheets.Count)
.Worksheets(.Worksheets.Count).Name = .Worksheets(.Worksheets.Count).Range("J1").Text
.Save
.Close
End With
Application.ScreenUpdating = True
End Sub
Falls das Blatt mit diesem Namen aber schon in der Ziel-Mappe existiert, läuft das in einen Fehler. Eine entsprechende Behandlung konnte ich mangels Angaben nicht einbauen.
LG
Michael

Anzeige
AW: Tabellenblatt in andere Mappe kopieren
17.11.2015 00:10:31
Hecke
Hallo Michael und Danke.
Hat natürlich super funktioniert.
hast natürlich Recht mit dem Fehler. Es soll ja immer User geben die alles ausprobieren.
Wie kann ich denn den Fehler abfangen, wenn das Blatt schon existiert? in Zelle j1 steht ein Datum, Format tt.mm.jjjj, und in diesem Format werden dann ja auch die Tabellenblätter abgespeichert. Also wenn z.B. Tabellenblatt 01.01.2016 schon vorhanden, dann einfach eine Meldung "Blatt schon vorhanden" und abbrechen. Wäre das möglich?
Gruß Hecke

Anzeige
AW: Tabellenblatt in andere Mappe kopieren
17.11.2015 00:12:23
Hecke
?

AW: Tabellenblatt in andere Mappe kopieren
17.11.2015 06:20:54
Matthias
Hallo

Option Explicit
Sub BlattKopieInMappe()
Dim Quelle As Workbook
Dim Ziel As Workbook
Dim Dialog As FileDialog
Dim Blatt As Worksheet, X&
Application.ScreenUpdating = False
Set Quelle = ThisWorkbook
Set Blatt = Quelle.ActiveSheet
Set Dialog = Application.FileDialog(msoFileDialogFilePicker)
With Dialog
.Title = "Bitte Zieldatei wählen"
.AllowMultiSelect = False
If .Show  -1 Then
MsgBox "Vorgang abgebrochen", vbInformation
Exit Sub
Else:
Set Ziel = Workbooks.Open(.SelectedItems(1))
End If
End With

For X = 1 To Ziel.Sheets.Count
If Sheets(X).Name = Blatt.Range("J1").Text Then
MsgBox "Blatt existiert schon: " & Sheets(X).Name
Ziel.Close
Exit Sub
End If
Next

With Ziel
Blatt.Copy after:=.Worksheets(.Worksheets.Count)
.Worksheets(.Worksheets.Count).Name = .Worksheets(.Worksheets.Count).Range("J1").Text
.Save
.Close
End With
Application.ScreenUpdating = True
End Sub
Gruß Matthias

Anzeige
AW: Danke...
17.11.2015 08:38:37
Michael
Matthias,
für's Einsteigen in den Faden. Ich bin gestern einfach nicht mehr dazu gekommen.
Hecke,
für Deine nette Rückmeldung. Du hast ja glücklicherweise noch von Matthias die gewünschte Ergänzung bekommen.
LG und schönen Tag
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt in eine andere Arbeitsmappe kopieren


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt in eine andere Arbeitsmappe zu kopieren, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, das aktive Blatt in eine ausgewählte Datei zu kopieren und dabei den Namen des Blattes aus der Zelle J1 zu übernehmen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul über Einfügen > Modul.
  3. Füge den folgenden Code ein:
Sub BlattKopieInMappe()
    Dim Quelle As Workbook
    Dim Ziel As Workbook
    Dim Dialog As FileDialog
    Dim Blatt As Worksheet, X As Integer
    Application.ScreenUpdating = False
    Set Quelle = ThisWorkbook
    Set Blatt = Quelle.ActiveSheet
    Set Dialog = Application.FileDialog(msoFileDialogFilePicker)

    With Dialog
        .Title = "Bitte Zieldatei wählen"
        .AllowMultiSelect = False
        If .Show <> -1 Then
            MsgBox "Vorgang abgebrochen", vbInformation
            Exit Sub
        Else
            Set Ziel = Workbooks.Open(.SelectedItems(1))
        End If
    End With

    For X = 1 To Ziel.Sheets.Count
        If Ziel.Sheets(X).Name = Blatt.Range("J1").Text Then
            MsgBox "Blatt existiert schon: " & Ziel.Sheets(X).Name
            Ziel.Close
            Exit Sub
        End If
    Next

    With Ziel
        Blatt.Copy after:=.Worksheets(.Worksheets.Count)
        .Worksheets(.Worksheets.Count).Name = Blatt.Range("J1").Text
        .Save
        .Close
    End With
    Application.ScreenUpdating = True
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Du kannst jetzt einen Button erstellen und diesen Code mit dem Button verknüpfen, um das Kopieren zu erleichtern.

Häufige Fehler und Lösungen

  • Fehler: Das Tabellenblatt existiert bereits.

    • Lösung: Der obige Code überprüft, ob ein Blatt mit dem gleichen Namen bereits existiert. Wenn ja, wird eine entsprechende Meldung angezeigt und der Vorgang abgebrochen.
  • Fehler: Dialog zur Dateiauswahl wird nicht angezeigt.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt eingefügt wurde und dass du die nötigen Berechtigungen hast, um Makros auszuführen.
  • Fehler: Excel stürzt ab.

    • Lösung: Überprüfe, ob dein Excel auf die neueste Version aktualisiert ist und dass du nicht zu viele Makros gleichzeitig ausführst.

Alternative Methoden

  1. Manuelles Kopieren: Du kannst das Tabellenblatt auch manuell kopieren, indem du mit der rechten Maustaste auf den Blatt-Reiter klickst und „Verschieben oder Kopieren“ auswählst.
  2. Power Query: Wenn du Daten aus verschiedenen Arbeitsmappen konsolidieren möchtest, kannst du Power Query verwenden, um Daten zu importieren und zu transformieren.

Praktische Beispiele

  • Beispiel 1: Wenn du ein Tabellenblatt mit Verkaufsdaten hast und es in eine Arbeitsmappe mit monatlichen Berichten kopieren möchtest, kannst du den obigen VBA-Code verwenden, um dies automatisiert zu erledigen.
  • Beispiel 2: Du kannst die Funktion auch für das Kopieren von Diagrammen oder Pivot-Tabellen in eine andere Excel-Datei nutzen.

Tipps für Profis

  • Strukturierte Benennung: Achte darauf, dass die Namen der Tabellenblätter einer einheitlichen Namenskonvention folgen, um Verwirrung zu vermeiden.
  • Makros dokumentieren: Halte eine Dokumentation deiner VBA-Makros bereit, um die Wartung und Anpassung zu erleichtern.
  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung innerhalb deines VBA-Codes, um Probleme schneller zu identifizieren.

FAQ: Häufige Fragen

1. Kann ich auch mehrere Tabellenblätter gleichzeitig kopieren?
Ja, du musst jedoch den Code anpassen, um eine Schleife für alle gewünschten Blätter zu erstellen.

2. Welche Excel-Version benötige ich für diese Methoden?
Der VBA-Code funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und später.

3. Ist es möglich, das kopierte Tabellenblatt in eine neue Arbeitsmappe zu speichern?
Ja, du kannst den Code anpassen, um das Blatt in eine neue Arbeitsmappe zu kopieren, indem du Workbooks.Add verwendest.

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