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: Speichern unter

Speichern unter
23.05.2005 15:37:42
Andreas
Hallo,
Ich weiß, dass diese Frage schon oft in diesem Forum gestellt wurde.
Ich möchte per VBA Code den Dialog "Speichern unter" aufrufen, der Name unter dem gespeichert werden soll steht in Zelle N11. Das Verzeichnis in das ich speichern will ist C:\Haus\Neu (d.h. im Dialog "Speichern unter" soll diese Verzeichnis offen und der Name schon vorbelegt sein)
Danke im Voraus!
LG Andreas
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter
23.05.2005 15:41:07
ino

Sub speichernunter()
ActiveWorkbook.SaveAs "C:\Haus\Neu\" & Range("N11").Value
End Sub

AW: Speichern unter
23.05.2005 15:52:00
Andreas
Hallo ino
Ich möchte den Dialog Speichern unter aufrufen! Dort soll unter Name der Wert von zelle n11 drinnstehen und das Verzeichnis soll C:\Haus\Ner sein.
Mit saveas wird kein Dialog aufgerufen!
LG Andreas
Anzeige
AW: Speichern unter
23.05.2005 16:51:49
UweD
Hallo
su kannst es so machen.

Sub speichern_unter()
Dim Pfad$, Datei$, Filter$
Pfad = "C:\Haus\Ner\"
Datei = ActiveSheet.Range("N11")
Filter = "Excel Files (*.xls), *.xls"
ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename(Pfad & Datei, Filter)
End Sub

Gruß Uwe
Anzeige
AW: Speichern unter
23.05.2005 17:32:19
Andreas
Hallo Uwe
Das Verzeichnis öffnet er korrekt, jedoch der Wert von n11 wird nicht eingetragen. Übrigens wenn ich bei diesem Dialog auf Abbrechen drücke, wird die Datei in dieses Verzeichnis gespeichert, unter dem Namen "FALSE" - komisch.
LG Andreas
AW: Speichern unter
23.05.2005 17:47:12
Peter
Hallo Andreas,
eventuell hilft das weiter.
Den Dateinamen mußt Du nach Deinen Bedürfnissen anpassen.
Denk an das Schließkreuz!
Mfg PetKo

Sub DateiSpeichern_mitOrdnerÜberprüfung()
'**prüfen ob ein Ordner vorhanden ist und falls nicht
'**wird der Ordner erstellt und Datei gespeichert
Dim Pfad As String
Dim OldDateiname As String
Dim AktDateiname As String
Pfad = "C:\Zentralbüro"
AktDateiname = "Bestand-" & Date & ".xls"
If Dir(Pfad, vbDirectory) <> "" Then
'ausblenden des Warnhinweises zum überschreiben der Datei
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Pfad & "\" & AktDateiname
MsgBox "Gespeichert unter:" & Chr(13) & Pfad & "\" & AktDateiname
Application.DisplayAlerts = True
Else
MkDir Pfad
ActiveWorkbook.SaveAs Filename:=Pfad & "\" & AktDateiname
MsgBox "Pfad angelegt unter:   " & Pfad & Chr(13) _
& "Gespeichert unter:   " & AktDateiname
End If
Application.Quit
End Sub

Anzeige
AW: Speichern unter
24.05.2005 10:52:44
UweD
Hallo
habe noch einige Prüfungen reingenommen.
Bei mir klappt es so.

Sub speichern_unter()
Dim Pfad$, Datei$, Filter$, Endg$, File
Pfad = "C:\Haus\Ner\"
Datei = ActiveSheet.Range("N11")
If Datei = "" Then
MsgBox "Zelle einhält keinen Eintrag"
Exit Sub
End If
Endg = ".xls"
If InStr(Datei, Endg) = 0 Then 'Prüfung ob Zelle bereits Endung enthält
Datei = Datei & Endg
End If
Filter = "Excel Files (*" & Endg & "), *" & Endg
File = Application.GetSaveAsFilename(Pfad & Datei, Filter)
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
End Sub

Gruß UweD
Anzeige
Application.FileDialog(msoFileDialogSaveAs)
23.05.2005 18:10:38
ransi
hallo andreas
versuchs mal so:

Sub mal_anders()
Dim dlg As Object
Dim pfad As String
Dim datei As String
pfad = "C:\Haus\Ner\"
datei = ActiveSheet.Range("N11")
Set dlg = Application.FileDialog(msoFileDialogSaveAs)
With dlg
.InitialFileName = pfad & datei & ".xls"
.Show
End With
If dlg <> False Then dlg.Execute
End Sub

Ist aber noch keine überprüfung auf ungültige zeichen drin.
ransi
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
Anzeige

Infobox / Tutorial

Dialog "Speichern unter" mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um den Dialog "Speichern unter" in Excel per VBA zu erstellen und den Dateinamen sowie das Verzeichnis vorab zu definieren, kannst Du den folgenden VBA-Code verwenden:

Sub speichern_unter()
    Dim dlg As Object
    Dim pfad As String
    Dim datei As String
    pfad = "C:\Haus\Ner\"
    datei = ActiveSheet.Range("N11").Value
    Set dlg = Application.FileDialog(msoFileDialogSaveAs)

    With dlg
        .InitialFileName = pfad & datei & ".xls"
        If .Show = -1 Then ' Wenn der Benutzer auf OK klickt
            dlg.Execute
        End If
    End With
End Sub

Dieser Code öffnet den Speichern-unter-Dialog und zeigt den Namen an, der in Zelle N11 steht, sowie das angegebene Verzeichnis. Achte darauf, dass Du die Excel-Version hast, die die Verwendung von VBA unterstützt.


Häufige Fehler und Lösungen

Fehler 1: Der Dialog öffnet sich, aber der Dateiname wird nicht übernommen.
Lösung: Stelle sicher, dass die Zelle N11 einen gültigen Wert enthält und dass Du die .InitialFileName korrekt setzt.

Fehler 2: Bei Abbrechen wird die Datei unter dem Namen "FALSE" gespeichert.
Lösung: Überprüfe den Rückgabewert von dlg.Show. Wenn der Benutzer abbricht, wird kein Speichervorgang durchgeführt und der Code sollte entsprechend angepasst werden.


Alternative Methoden

Es gibt auch andere Ansätze, um Dateien in Excel zu speichern. Eine Möglichkeit ist die Verwendung des SaveAs-Befehls, jedoch wird dabei der Dialog nicht geöffnet:

Sub direkt_speichern()
    ActiveWorkbook.SaveAs "C:\Haus\Ner\" & Range("N11").Value
End Sub

Diese Methode ist nützlich, wenn Du den Dateinamen und den Pfad bereits kennst und den Dialog nicht benötigst.


Praktische Beispiele

Hier sind einige weitere Beispiele, die Du verwenden kannst:

Datei mit Datum speichern:

Sub speichern_mit_datum()
    Dim Pfad As String
    Dim AktDateiname As String
    Pfad = "C:\Haus\Ner\"
    AktDateiname = "Bestand-" & Format(Date, "yyyy-mm-dd") & ".xls"
    ActiveWorkbook.SaveAs Filename:=Pfad & AktDateiname
End Sub

Speichern unter verschiedenen Dateiformaten:

Sub speichern_unter_format()
    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(msoFileDialogSaveAs)

    With dlg
        .FilterIndex = 2 ' z.B. für .xlsx
        .Show
    End With
End Sub

Tipps für Profis

  • Verwende Application.DisplayAlerts = False, um Warnmeldungen zu unterdrücken, wenn Du bestehende Dateien überschreibst.
  • Prüfe vor dem Speichern, ob der Ordner existiert, und erstelle ihn gegebenenfalls mit MkDir.
  • Nutze InStr, um sicherzustellen, dass der Dateiname die richtige Dateiendung hat.

FAQ: Häufige Fragen

1. Wie kann ich den Dialog "Speichern unter" anpassen?
Du kannst die .InitialFileName-Eigenschaft im VBA-Code ändern, um den gewünschten Pfad und Dateinamen vorzugeben.

2. Was passiert, wenn ich auf Abbrechen klicke?
Wenn Du auf Abbrechen klickst, wird der Speichervorgang abgebrochen und es wird kein Dateiname gespeichert. Stelle sicher, dass Dein Code dies berücksichtigt.

3. Kann ich auch andere Dateiformate speichern?
Ja, Du kannst die FileDialog-Filteroptionen anpassen, um andere Dateiformate wie .csv oder .txt anzubieten.

4. Wie kann ich ungültige Zeichen im Dateinamen überprüfen?
Du kannst eine Funktion erstellen, die unerlaubte Zeichen entfernt, bevor Du den Speichervorgang durchführst.

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