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

Tabellenblätter als einzelne Dateien speichern

Forumthread: Tabellenblätter als einzelne Dateien speichern

Tabellenblätter als einzelne Dateien speichern
10.07.2003 11:37:22
michael
Hallo!
Ich habe eine Mappe mit zahlreichen Blättern. Gibt es eine Möglichkeit, sämtliche Blätter automatisch als eigene Mappen abzuspeichern, damit ich mir das händische anlegen und herumkopieren sparen kann?
Vielen Dank für Tips!
mfg
Michael Kößler
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter als einzelne Dateien speichern
10.07.2003 12:08:09
sergiesam
Hi
Verwende dies:

Sub Aufteilung()
Dim sh As Worksheet, ab As Workbook, nb As Workbook
Set ab = ActiveWorkbook
For Each sh In ab.Sheets
Set nb = Workbooks.Add
sh.Copy Before:=nb.Sheets(1)
nb.SaveAs ab.Path & "\" & sh.Name
Next sh
End Sub

Gruß,
sam

Anzeige
AW: Tabellenblätter als einzelne Dateien speichern
10.07.2003 12:05:03
geri
Hallo Michael
als Ansatz gefunden im Forum

Sub SaveSheets()
Dim iSheet As Integer
Dim sPath As String
Application.ScreenUpdating = False
sPath = Range("B1").Value & "\"
For iSheet = Worksheets.Count - 2 To Worksheets.Count
Worksheets(iSheet).Copy
ActiveWorkbook.SaveAs sPath & ActiveSheet.Name
ActiveWorkbook.Close savechanges:=False
Next iSheet
Application.ScreenUpdating = True
MsgBox "Job erledigt"
End Sub

es speichert 3 Blätter in B1 steht PFAD
gruss geri

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Tabellenblätter als einzelne Dateien speichern


Schritt-für-Schritt-Anleitung

Um Excel Tabellenblätter in einzelne Dateien zu speichern, kannst du die folgende VBA-Makro-Option verwenden. Dieses Skript erstellt für jedes Blatt in deiner Arbeitsmappe eine neue Datei:

  1. Öffne deine Excel-Datei, die die Tabellenblätter enthält.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden Code in das Modul ein:
Sub Aufteilung()
    Dim sh As Worksheet, ab As Workbook, nb As Workbook
    Set ab = ActiveWorkbook
    For Each sh In ab.Sheets
        Set nb = Workbooks.Add
        sh.Copy Before:=nb.Sheets(1)
        nb.SaveAs ab.Path & "\" & sh.Name
    Next sh
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Drücke ALT + F8, wähle Aufteilung und klicke auf Ausführen.

Das Skript speichert jedes einzelne Tabellenblatt als separate Datei im gleichen Verzeichnis wie die ursprüngliche Arbeitsmappe.


Häufige Fehler und Lösungen

  • Fehler: "Das Arbeitsblatt kann nicht kopiert werden."

    • Lösung: Stelle sicher, dass das Arbeitsblatt nicht geschützt ist. Entferne den Schutz und versuche es erneut.
  • Fehler: Datei wird nicht gespeichert.

    • Lösung: Überprüfe den angegebenen Speicherort. Stelle sicher, dass der Pfad korrekt und beschreibbar ist.

Alternative Methoden

Eine andere Möglichkeit, einzelne Blätter aus Excel zu speichern, ist die Verwendung eines alternativen VBA-Skripts, das den Speicherort aus einer Zelle liest:

Sub SaveSheets()
    Dim iSheet As Integer
    Dim sPath As String
    Application.ScreenUpdating = False
    sPath = Range("B1").Value & "\"
    For iSheet = 1 To Worksheets.Count
        Worksheets(iSheet).Copy
        ActiveWorkbook.SaveAs sPath & ActiveSheet.Name
        ActiveWorkbook.Close savechanges:=False
    Next iSheet
    Application.ScreenUpdating = True
    MsgBox "Job erledigt"
End Sub

In diesem Skript gibst du den Speicherort in Zelle B1 an, bevor du das Makro ausführst.


Praktische Beispiele

Angenommen, du hast eine Arbeitsmappe mit drei Tabellenblättern: "Januar", "Februar" und "März". Mit den oben genannten Makros kannst du jedes dieser Blätter als einzelne Datei speichern. Nach der Ausführung des Makros findest du die Dateien im gleichen Ordner wie die ursprüngliche Excel-Datei:

  • Januar.xlsx
  • Februar.xlsx
  • März.xlsx

Tipps für Profis

  • Verwende einen spezifischen Dateinamen, um die Dateien zu kennzeichnen, z. B. kannst du das aktuelle Datum oder einen bestimmten Text als Teil des Dateinamens hinzufügen.
  • Teste deine Makros immer zuerst mit einer Kopie deiner Daten, um Datenverlust zu vermeiden.
  • Du kannst auch Bedingungen in dein Skript einfügen, um nur bestimmte Blätter zu speichern (z. B. nur die Blätter, die mit "Monat" beginnen).

FAQ: Häufige Fragen

1. Wie kann ich ein einzelnes Blatt als eigene Datei speichern? Um ein einzelnes Tabellenblatt zu speichern, kannst du das oben genannte Makro anpassen, sodass es nur das gewünschte Blatt kopiert und speichert.

2. Ist es möglich, alle Blätter in ein bestimmtes Format zu speichern? Ja, du kannst das Format in der SaveAs-Methode anpassen, z. B. nb.SaveAs ab.Path & "\" & sh.Name, FileFormat:=xlCSV für CSV-Dateien.

3. Funktioniert das auch in Excel Online oder in Mac-Versionen? Die VBA-Makros funktionieren nur in der Desktop-Version von Excel. Excel Online unterstützt keine VBA.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige