Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Speichern unter Pfad vorgeben

Speichern unter Pfad vorgeben
24.06.2020 08:32:15
Stephan
Guten Morgen liebes Forum!
Mit folgendem Code gebe ich beim "Speichern unter" einen Namen vor, was auch super klappt. Jetzt würde ich allerdings gerne auch noch einen Pfad vorgeben, der beim Öffnen des "Speichern unter" Dialoges aufpopt. Der Pfad ist hierbei statisch und immer derselbe: C:\Users\Peter\Desktop\Test
Mein Code für den Namen sieht bisher so aus:
With Application.FileDialog(msoFileDialogSaveAs)
.Title = "Datei speichern"
.InitialFileName = Format(Date, "yymmdd") & " - " & Range("B13")
.ButtonName = "Speichern"
.FilterIndex = 2
.Show
.Execute
End With
Wie bekomme ich das mit dem Pfad hin? Kann mir jemand hierbei helfen?
Vielen Dank und viele Grüße,
Stephan
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter Pfad vorgeben
24.06.2020 08:43:27
peterk
Hallo

.InitialFileName = "C:\Users\Peter\Desktop\Test\" & Format(Date, "yymmdd") & " - " & Range("B13" _
)

AW: Speichern unter Pfad vorgeben
24.06.2020 09:10:32
Stephan
Super vielen Dank! :)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Speichern unter Pfad und Dateiname vorgeben in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA beim "Speichern unter" sowohl einen Pfad als auch einen Dateinamen vorzugeben, kannst Du den folgenden Code verwenden. Dieser Code öffnet den Dialog "Speichern unter" und setzt den voreingestellten Pfad sowie den Dateinamen. Dabei wird der Pfad statisch auf C:\Users\Peter\Desktop\Test\ gesetzt.

Sub SpeichernUnterPfadVorgeben()
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Datei speichern"
        .InitialFileName = "C:\Users\Peter\Desktop\Test\" & Format(Date, "yymmdd") & " - " & Range("B13").Value
        .ButtonName = "Speichern"
        .FilterIndex = 2
        If .Show = -1 Then ' Wenn der Benutzer auf "Speichern" klickt
            .Execute
        End If
    End With
End Sub

Erklärung des Codes:

  • .InitialFileName gibt den Pfad und Dateinamen an, der im Dialog angezeigt wird.
  • Format(Date, "yymmdd") erstellt ein Datum im Format Jahr-Monat-Tag.
  • Range("B13").Value zieht den Namen aus Zelle B13.

Häufige Fehler und Lösungen

Fehler 1: Der Pfad existiert nicht.
Lösung: Stelle sicher, dass der Pfad C:\Users\Peter\Desktop\Test\ tatsächlich existiert. Andernfalls ändere den Pfad auf einen gültigen Ort.

Fehler 2: Der Dialog zeigt den falschen Dateinamen an.
Lösung: Überprüfe den Inhalt der Zelle B13. Wenn diese leer ist, wird ein unvollständiger Dateiname angezeigt.


Alternative Methoden

Wenn Du in Excel speichern möchtest, ohne VBA zu verwenden, kannst Du den Pfad manuell im "Speichern unter"-Dialog auswählen. Dies ist jedoch weniger effizient, wenn Du häufig dasselbe Ziel verwendest.


Praktische Beispiele

Hier ist ein Beispiel, wie Du den Dialog auch für verschiedene Dateitypen anpassen kannst. Um den Dateityp vorzugeben, kannst Du den Filter anpassen:

Sub SpeichernUnterPfadUndDateitypVorgeben()
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Datei speichern"
        .InitialFileName = "C:\Users\Peter\Desktop\Test\" & Format(Date, "yymmdd") & " - " & Range("B13").Value
        .ButtonName = "Speichern"
        .Filters.Clear
        .Filters.Add "Excel-Arbeitsmappe", "*.xlsx"
        .FilterIndex = 1
        If .Show = -1 Then
            .Execute
        End If
    End With
End Sub

Tipps für Profis

  • Nutze Variablen für den Pfad, damit Du diesen leicht ändern kannst, ohne den gesamten Code anpassen zu müssen.
  • Füge Error-Handling hinzu, um den Code robuster zu machen. Beispiel:
On Error Resume Next
' Dein Code hier
If Err.Number <> 0 Then
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
End If
On Error GoTo 0

FAQ: Häufige Fragen

1. Frage: Kann ich den Pfad dynamisch ändern?
Antwort: Ja, Du kannst den Pfad in eine Variable speichern und diese Variable im InitialFileName verwenden.

2. Frage: Funktioniert dieser Code in Excel 2016?
Antwort: Ja, der Code funktioniert in Excel 2016 und neueren Versionen, die VBA unterstützen.

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