Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.04.2025 14:56:21
29.04.2025 13:03:33
29.04.2025 11:32:32
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur TABELLENBLATT speichern unter...

Forumthread: Nur TABELLENBLATT speichern unter...

Nur TABELLENBLATT speichern unter...
05.09.2002 14:12:51
Friedl G.
Hallo Forum

Mit folgendem Makro speichere ich meine Datei unter "xyz" mit vordefinierten Speicherpfad....

Wie müsste es geändert sein, wenn ich nur ein Tabellenblatt, z.B. "Tabelle1" - "speichern unter...." - möchte.

Bitte wieder mal um Hilfe

Sub Speichern()
Dim DName As String, aktDir As String
aktDir = CurDir 'ggf. löschen**********************
ChDir "C:\Dokumente und Einstellungen\FGruber\Eigene Dateien\Backstage\Ausgangs Rechnungen"
DName = Application.GetSaveAsFilename( _
fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
ChDir aktDir 'ggf. löschen**********************
End Sub

Makro stammt von L.Vira

Liebe Grüße und Dank im Voraus
Friedl

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Nur TABELLENBLATT speichern unter...
05.09.2002 15:14:01
Konrad
Das geht nur indem du die leeren Tabellenblätter löscht.
Tabelle2.delete. Um sicher zu gehen, dass sie auch leer ist, musst du auf den Tabelleninhalt überprüfen. am besten ist's, wenn du eine Zelle hast, die immer gefüllt ist. Wenn sie leer ist If Tabelle2.Range("A1") = "" then Tabelle2.delete.
Am besten ist es natürlich, du machst es dynamisch:
For each Worksheet in Workbooks
If Tabelle2.Range("A1") = "" then Tabelle2.delete
next
Anzeige
Re: Nur TABELLENBLATT speichern unter...
05.09.2002 15:41:00
Friedl G.
Hallo Konrad

Nicht ganz was ich möchte

Mit folgendem Makro speichere ich ein einzelnes Tabellenblatt unter dem Namen "wie in c11" im Quellpfad der geöffneten Datei.

Sub RechnungSichern()
Sheets("rechnung").Copy
ActiveWorkbook.SaveAs FileName:=Range("c11").Value
End Sub


Ich möchte jedoch den Ziel vordefinieren und nicht mehr den Bezug zu c11 haben, dann öffnet sich die "Speichern unter" MsgBox und ich gebe den neuen Dateinamen ein - OK ?

Liebe Grüße
Friedl

Anzeige
Re: Nur TABELLENBLATT speichern unter...
05.09.2002 15:47:35
L.Vira
Du hast dir die Antwort doch eigenlich schon selbst gegeben:

Option Explicit
Sub Speichern()
Dim DName As String, aktDir As String
aktDir = CurDir 'ggf. löschen**********************
'ChDir "C:\Dokumente und Einstellungen\FGruber\Eigene Dateien\Backstage\Ausgangs Rechnungen"
ActiveSheet.Copy
DName = Application.GetSaveAsFilename( _
fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
ChDir aktDir 'ggf. löschen**********************
End Sub

Anzeige
Re: Man braucht nur denken :-)
05.09.2002 15:51:16
Friedl G.
Hallo Konrad

Tja...

Danke - Manchmal gehts einfach nicht...!?!?

Liebe Grüße
Friedl

Re: Nochmals Frage an Konrad
05.09.2002 16:11:35
Friedl G.
Hallo Konrad

Makro funktioniert blendend !!
Kann ich im selben Makro auch einen Befehl integrieren um dann die gespeicherte Datei auch gleich zu schliessen. d.h.,nach schliessen der "Speichern unter..." Dialogbox...

Wie lautet der Code dazu?

Danke Friedl

Anzeige
Re: Voreilig - Funktioniert doch nicht ?!?
09.09.2002 23:54:17
Friedl G.
Hallo...

War wohl ein bisschen zu voreilig..
Die Makro's funktionieren nicht so wie sollen..

Also
Workbook speichern unter....

Option Explicit
Sub Speichern()
Dim DName As String, aktDir As String
aktDir = CurDir 'ggf. löschen**********************
ChDir "C:\Dokumente und Einstellungen\FGruber\Eigene Dateien\Backstage\Ausgangs Rechnungen"
DName = Application.GetSaveAsFilename( _
fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
ChDir aktDir 'ggf. löschen**********************
End Sub

Makro läuft ohne Fehler ab, findet auch den Pfad, aber es wird NICHT gespeichert !!

2tens
Worksheet speichern unter..

Option Explicit
Sub Speichern()
Dim DName As String, aktDir As String
aktDir = CurDir 'ggf. löschen**********************
'ChDir "C:\Dokumente und Einstellungen\FGruber\Eigene Dateien\Backstage\Ausgangs Rechnungen"
ActiveSheet.Copy
DName = Application.GetSaveAsFilename( _
fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
ChDir aktDir 'ggf. löschen**********************
End Sub

Makro wird ausgeführt, alles läuft, nur die Pfadangabe wird nicht erkannt. Vordefinierte Pfadangabe wird nicht verwendet.

Was könnten die Gründe dafür sein ??

Dank im voraus
Friedl

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Einzelnes Tabellenblatt in Excel speichern


Schritt-für-Schritt-Anleitung

Um ein einzelnes Tabellenblatt in Excel zu speichern, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere folgenden Code in das Modul:

    Sub Speichern()
        Dim DName As String
        DName = Application.GetSaveAsFilename( _
            fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
        If DName <> "False" Then
            ActiveSheet.Copy
            ActiveWorkbook.SaveAs FileName:=DName
            ActiveWorkbook.Close
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Drücke ALT + F8, wähle Speichern und klicke auf Ausführen.

Dieses Makro speichert das aktive Tabellenblatt als eigene Datei. Du kannst den Dateinamen im Dialogfeld "Speichern unter" selbst festlegen.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro wird nicht gespeichert."

    • Überprüfe, ob Du das Makro korrekt in ein Modul eingefügt hast und ob Du die richtigen Berechtigungen zum Speichern hast.
  • Fehler: "Dateipfad wird nicht erkannt."

    • Stelle sicher, dass der angegebene Pfad in der ChDir-Anweisung korrekt ist. Du kannst die Zeile auch auskommentieren, wenn Du einen Dialog zur Dateiauswahl verwenden möchtest.

Alternative Methoden

Neben VBA kannst Du auch die Excel-Funktion "Speichern unter" manuell verwenden. Wenn Du nur ein Tabellenblatt speichern möchtest, kannst Du die folgenden Schritte ausführen:

  1. Rechtsklick auf das Tabellenblatt und wähle "Verschieben oder Kopieren...".
  2. Wähle im Dialogfeld "In eine andere Arbeitsmappe verschieben" die Option "Neue Arbeitsmappe".
  3. Speichere die neue Arbeitsmappe über "Datei" > "Speichern unter".

Diese Methode ist besonders nützlich, wenn Du keine Makros verwenden möchtest.


Praktische Beispiele

Hier sind einige Beispiele, wie Du ein einzelnes Arbeitsblatt aus Excel speichern kannst:

  • Einzelnes Excel-Blatt speichern mit vordefiniertem Namen:

    Sub RechnungSichern()
        Sheets("rechnung").Copy
        ActiveWorkbook.SaveAs FileName:="C:\DeinPfad\Rechnung.xlsx"
        ActiveWorkbook.Close
    End Sub
  • Einzelnes Tabellenblatt speichern und danach schließen:

    Sub SpeichernUndSchließen()
        Dim DName As String
        DName = Application.GetSaveAsFilename( _
            fileFilter:="EXCEL Arbeitsmappe (*.xls), *.xls")
        If DName <> "False" Then
            ActiveSheet.Copy
            ActiveWorkbook.SaveAs FileName:=DName
            ActiveWorkbook.Close
        End If
    End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.

  • Füge Fehlerbehandlung hinzu, um das Makro robuster zu machen:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Speichere regelmäßig eine Sicherungskopie Deiner Arbeitsmappe, bevor Du mit Makros arbeitest.


FAQ: Häufige Fragen

1. Kann ich mehrere Tabellenblätter gleichzeitig speichern? Ja, Du kannst ein Makro anpassen, um mehrere Tabellenblätter zu durchlaufen und jedes einzeln zu speichern.

2. Was passiert, wenn ich den Dialog "Speichern unter" abbreche? Wenn Du den Dialog abbrichst, gibt das Makro "False" zurück, und das Speichern wird nicht durchgeführt. Stelle sicher, dass Du diese Rückgabe im Code berücksichtigst.

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