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: SaveAs nit VBA

SaveAs nit VBA
05.10.2002 20:34:32
Jochen
Hallo alle zuammen!

Wie muss das Macro aussehen, dass unter dem Namen, der in Zelle A1 steht, gespeichet wird?

Danke für Eure Hilfe.


So geht es nicht :(

Sub SaveAs()
Speichername = Range("A1")
ActiveWorkbook.SaveAs _
Filename:="C:\eigene Dateien\Speichername.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: SaveAs nit VBA
05.10.2002 20:48:22
Hajo_Zi
Hallo Jochen

ich mach das mal live
Sub SaveAs()
Speichername = Range("A1")
ActiveWorkbook.SaveAs _
Filename:="C:\eigene Dateien\" & Speichername& ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Gruß Hajo

Anzeige
Re: SaveAs nit VBA
05.10.2002 20:50:22
Ralf-Eckhard
Mit diesem Makro geht es auch:

Sub saving()
'
' saving Makro
' Makro am 20.08.2002 von Ralf-Eckhard Böhne-Wilke aufgezeichnet
'
Dim fname As String

fname = Worksheets("Konfiguration").Range("E9").Text
ActiveWorkbook.Close True, fname
'
End Sub

Re: SaveAs nit VBA
05.10.2002 20:50:42
PeterW
Hallo Jochen,

Filename:="C:\Eigene Dateien\" & Speichername & ".xls",...

könnte klappen. (nicht getestet!)
Lass Dir im Makro in einer MsgBox den Namen an dieser Stelle des Makros ausgeben, dann kannst Du den Fehler schneller eingrenzen.
Gruß
Peter

Anzeige
Re: SaveAs nit VBA
05.10.2002 20:53:56
Ralf-Eckhard
Sorry Jochen, das erste Posting war nicht so richtig korrekt, hier nochmal das Makro:

Sub saving()
'
' saving Makro
' Makro am 20.08.2002 von Ralf-Eckhard Böhne-Wilke aufgezeichnet
'
Dim fname As String

fname = Worksheets("Tabelle1").Range("A1").Text
ActiveWorkbook.Close True, fname
'
End Sub


Anzeige
Frage dazu....
05.10.2002 21:46:13
Friedl G.
Hallo

Ich habe dazu ne Frage...
Ich verwende ein Makro wie folgt:
Sub RechnungSpeichernUnter()
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**********************
ActiveWorkbook.Close
End Sub

Und möchte jetzt, dass ich aus der Zusammensetzung von 3 Zellen den Dateinamen für "Speichern unter" bilde.
Dazu ist noch zu sagen, dass ich ein Worksheet speichere und dann zum Workbook wieder zurückkehren möchte..

Ist dass machbar ??

Danke und Grüße
Friedl

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Speichern unter in Excel VBA: So geht's


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, wähle „Einfügen“ und dann „Modul“.

  3. Makro schreiben: Füge den folgenden Code in das Modul ein, um die Datei unter dem Namen in Zelle A1 zu speichern:

    Sub SaveAs()
        Dim Speichername As String
        Speichername = Range("A1").Value
        ActiveWorkbook.SaveAs _
            Filename:="C:\Eigene Dateien\" & Speichername & ".xls", _
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Datei zu speichern.


Häufige Fehler und Lösungen

  • Fehler bei Dateipfad: Wenn der angegebene Pfad nicht existiert, erhältst du einen Laufzeitfehler. Stelle sicher, dass der Pfad korrekt ist und die benötigten Ordner vorhanden sind.

  • Dateiname leer: Wenn in Zelle A1 kein Name steht, führt dies zu einem Fehler. Füge eine Überprüfung hinzu:

    If Speichername = "" Then
        MsgBox "Bitte einen Dateinamen in Zelle A1 eingeben."
        Exit Sub
    End If
  • Dateiformat nicht unterstützt: Achte darauf, das richtige FileFormat zu verwenden. Bei Bedarf kannst du fileformat:=xlopenxmlworkbookmacroenabled für Makros verwenden.


Alternative Methoden

  • VBA SaveCopyAs: Wenn du die aktuelle Arbeitsmappe als Kopie speichern möchtest, ohne sie geschlossen zu haben, kannst du die Methode ThisWorkbook.SaveCopyAs verwenden:

    ThisWorkbook.SaveCopyAs "C:\Eigene Dateien\Kopie_" & Speichername & ".xls"
  • ActiveSheet speichern: Um nur das aktive Blatt zu speichern, benutze ActiveSheet.Copy zusammen mit Application.ActiveWorkbook.SaveAs.


Praktische Beispiele

  1. Speichern unter einem zusammengesetzten Namen:

    Sub SaveCombinedName()
        Dim DName As String
        DName = Worksheets("Tabelle1").Range("A1").Value & "_" & Worksheets("Tabelle1").Range("B1").Value
        ActiveWorkbook.SaveAs "C:\Eigene Dateien\" & DName & ".xls"
    End Sub
  2. Speichern mit Benutzerabfrage:

    Sub SaveWithDialog()
        Dim DName As Variant
        DName = Application.GetSaveAsFilename(FileFilter:="Excel Arbeitsmappe (*.xls), *.xls")
        If DName <> False Then
            ActiveWorkbook.SaveAs Filename:=DName, FileFormat:=xlNormal
        End If
    End Sub

Tipps für Profis

  • Backup erstellen: Verwende CreateBackup:=True, um automatisch eine Sicherungskopie der Datei zu erstellen.
  • Fehlerbehandlung: Füge On Error Resume Next und On Error GoTo 0 ein, um Laufzeitfehler elegant zu behandeln.

    On Error Resume Next
    ActiveWorkbook.SaveAs Filename:="C:\Eigene Dateien\" & Speichername & ".xls"
    If Err.Number <> 0 Then
        MsgBox "Fehler beim Speichern: " & Err.Description
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie speichere ich ein Workbook in einem anderen Format?
Du kannst das FileFormat im SaveAs-Befehl ändern, z. B. FileFormat:=xlOpenXMLWorkbookMacroEnabled für eine .xlsm-Datei.

2. Was passiert, wenn der Dateiname bereits existiert?
Wenn der Dateiname existiert, wird Excel eine Fehlermeldung ausgeben. Du kannst die Methode adsavecreateoverwrite vba verwenden, um diese Situation zu handhaben.

3. Kann ich ein Blatt speichern und dann zum Workbook zurückkehren?
Ja, indem du ActiveSheet.Copy verwendest, kannst du das Blatt speichern, und danach mit ThisWorkbook.Activate zurückkehren.

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