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

Forumthread: VBA Tabellenblatt kopieren/speichern

VBA Tabellenblatt kopieren/speichern
09.05.2007 10:11:00
Martin
Hallo,
wie kann ich mit VBA aus einer vorhandenen Exceldatei ein Tabellenblatt in eine neue Datei kopieren und diese dann mit einem vorgegebenen Namen automatisch speichern?
Gruß
Martin

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenblatt kopieren/speichern
09.05.2007 10:20:41
haw
Hallo Martin,
Workbooks("Text.xls").Worksheets("Muster").Copy
ActiveWorkbook.SaveAs Filename:="C:\Test\Muster.xls"
Gruß
Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt mit VBA kopieren und speichern


Schritt-für-Schritt-Anleitung

Um ein Excel-VBA-Tabellenblatt zu kopieren und in einer neuen Datei zu speichern, kannst Du die folgenden Schritte befolgen:

  1. Öffne die Excel-Datei, die das gewünschte Tabellenblatt enthält.

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

  3. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code in das Modul ein:

    Sub TabellenblattKopierenSpeichern()
       ' Tabellenblatt kopieren
       Workbooks("Text.xls").Worksheets("Muster").Copy
       ' Neue Datei speichern
       ActiveWorkbook.SaveAs Filename:="C:\Test\Muster.xls"
       ' Schließe die neue Datei
       ActiveWorkbook.Close
    End Sub
  5. Ändere den Dateinamen und den Pfad entsprechend Deinen Bedürfnissen.

  6. Führe das Makro aus, um das Tabellenblatt zu kopieren und zu speichern.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der Name der Quelldatei und das Tabellenblatt korrekt angegeben sind.
  • Fehler: "Speicherort nicht gefunden"

    • Überprüfe den angegebenen Speicherort und stelle sicher, dass der Ordner existiert.
  • Fehler: "ActiveWorkbook ist nichts"

    • Dies kann passieren, wenn das Kopieren des Arbeitsblatts fehlschlägt. Überprüfe das ursprüngliche Arbeitsblatt auf mögliche Probleme.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch das folgende Verfahren nutzen:

  1. Klicke mit der rechten Maustaste auf das Tabellenblatt, das Du kopieren möchtest.
  2. Wähle Verschieben oder Kopieren....
  3. Wähle Neue Arbeitsmappe aus und aktiviere die Option Kopie erstellen.
  4. Klicke auf OK und speichere die neue Datei.

Diese Methode ermöglicht es Dir, ein Excel-Tabellenblatt zu kopieren, ohne VBA zu verwenden.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den VBA-Code anpassen kannst:

  • Um mehrere Tabellenblätter zu kopieren:

    Sub MehrereTabellenblaetterKopieren()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           ws.Copy After:=Workbooks("NeuesDoku.xls").Worksheets(Workbooks("NeuesDoku.xls").Worksheets.Count)
       Next ws
    End Sub
  • Um ein Tabellenblatt in eine bestimmte Datei zu speichern:

    Sub TabellenblattInNeueDateiSpeichern()
       Workbooks("Text.xls").Worksheets("Muster").Copy
       ActiveWorkbook.SaveAs Filename:="C:\Test\NeuesMuster.xls"
       ActiveWorkbook.Close
    End Sub

Tipps für Profis

  • Nutze Fehlerbehandlung in Deinem VBA-Code, um unerwartete Probleme elegant zu handhaben. Beispiel:

    On Error Resume Next
    ' Dein Code hier
    If Err.Number <> 0 Then
       MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    End If
  • Arbeite mit Variablen, um den Code flexibler zu gestalten und die Lesbarkeit zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich ein Blatt aus einer geschlossenen Arbeitsmappe kopieren? Um ein Tabellenblatt aus einer geschlossenen Arbeitsmappe zu kopieren, musst Du zunächst die Arbeitsmappe öffnen, bevor Du das Blatt kopierst.

2. Kann ich mehrere Tabellenblätter gleichzeitig kopieren? Ja, Du kannst mehrere Tabellenblätter kopieren, indem Du eine Schleife im VBA-Code verwendest, um alle gewünschten Blätter zu bearbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige