Dialogfenster "Speichern unter" per VBA aufrufen

In diesem Artikel erfahren Sie, wie Sie per VBA (Visual Basic for Applications) den "Speichern unter"-Dialog in Excel aufrufen und dabei den Speicherpfad sowie den Dateinamen vordefinieren. Dies ist besonders nützlich, wenn Sie häufig Dateien in einem bestimmten Verzeichnis speichern oder einen standardisierten Dateinamen verwenden möchten.

Die VBA-Lösung, die wir hier vorstellen, automatisiert den Speichervorgang, indem sie das Verzeichnis und den Dateinamen vorgibt. Sie müssen nur noch auf "OK" klicken, und die Datei wird entsprechend gespeichert.

1. Grundlegendes Makro zum Aufruf des "Speichern unter"-Dialogs

Im folgenden Beispiel wird der Pfad "C:\Temp" voreingestellt, und die Datei soll unter dem Namen "Testmappe.xls" gespeichert werden. Das Makro verwendet den VBA-Befehl Application.Dialogs(xlDialogSaveAs).Show, um den "Speichern unter"-Dialog zu öffnen.

Sub SpeichernUnter()
 ' Dialogfeld "Speichern unter" aufrufen
 ' und dabei den Dateipfad und den Dateinamen vorgeben

 Dim strDateiname As String
 ChDrive "C:\" ' Wechselt auf das Laufwerk C:
 ChDir "\Temp\" ' Wechselt in das Verzeichnis Temp

 strDateiname = "Testmappe.xls" ' Definiert den Dateinamen
 Application.Dialogs(xlDialogSaveAs).Show (strDateiname)
End Sub
  

2. Erläuterung des Codes

  • ChDrive "C:": Wechselt auf das Laufwerk "C:", auf dem der Ordner liegt.
  • ChDir "\Temp": Stellt sicher, dass das Verzeichnis "Temp" im Laufwerk C:\ als Standardverzeichnis gewählt wird.
  • strDateiname = "Testmappe.xls": Hier wird der Standard-Dateiname für die zu speichernde Datei festgelegt.
  • Application.Dialogs(xlDialogSaveAs).Show (strDateiname): Öffnet den Dialog "Speichern unter" und übergibt den vorgegebenen Dateinamen.

3. Anpassungen für den eigenen Bedarf

Das vorgestellte Makro lässt sich einfach an Ihre eigenen Anforderungen anpassen. Beispielsweise können Sie den Dateipfad und den Dateinamen dynamisch generieren. Falls Sie in einem anderen Verzeichnis arbeiten oder die Datei in einem benutzerdefinierten Verzeichnis speichern möchten, können Sie diese Zeilen entsprechend anpassen:

ChDrive "D:\" ' Wechseln auf Laufwerk D:
ChDir "\Dokumente\" ' In das Verzeichnis "Dokumente" wechseln
  

Auch der Dateiname kann durch Variablen gesteuert werden, beispielsweise durch die Verwendung des aktuellen Datums:

strDateiname = "Report_" & Format(Date, "YYYYMMDD") & ".xls"
  

Hier wird der Dateiname automatisch auf Basis des aktuellen Datums erstellt, was besonders nützlich für das Erstellen von täglichen oder monatlichen Berichten ist.

4. Erweiterte Optionen für das Speichern

Es gibt viele Szenarien, in denen eine Erweiterung des Makros sinnvoll sein kann, zum Beispiel:

  • Dateiformat ändern: Falls die Datei in einem anderen Format als .xls gespeichert werden soll (z.B. .xlsx oder .csv), können Sie dies ebenfalls im Makro festlegen.

Beispiel für das Speichern als .xlsx:

strDateiname = "Testmappe.xlsx"
  

  • Überprüfen, ob die Datei bereits existiert: Wenn Sie verhindern möchten, dass eine Datei versehentlich überschrieben wird, können Sie eine Prüfung einbauen, ob die Datei bereits existiert:

If Dir("C:\Temp\" & strDateiname) <> "" Then MsgBox "Die Datei existiert bereits!" Exit Sub End If
  

5. Weitere Verwendungsmöglichkeiten

  • Automatisiertes Speichern von Berichten: Sie könnten das Makro nutzen, um regelmäßig automatisierte Berichte zu generieren und in einem bestimmten Ordner abzulegen, beispielsweise am Ende eines jeden Monats.
  • Benutzerführung: Das Makro kann so angepasst werden, dass der Benutzer den Speicherort auswählen kann, jedoch der Dateiname automatisch vorgegeben wird. Dies kann sinnvoll sein, wenn der Benutzer die Datei in verschiedenen Verzeichnissen ablegen möchte, aber der Dateiname einheitlich bleiben soll.

6. Fazit

Mit diesem einfachen VBA-Makro können Sie den "Speichern unter"-Dialog in Excel aufrufen und gleichzeitig einen Pfad sowie einen Dateinamen vordefinieren. Dies spart Zeit und reduziert Fehler, indem sichergestellt wird, dass die Datei immer an der richtigen Stelle mit dem richtigen Namen gespeichert wird.

Falls Sie weitere Anpassungen benötigen oder Unterstützung bei der Implementierung eines automatisierten Speichervorgangs für Ihre speziellen Anforderungen suchen, können wir Ihnen gerne weiterhelfen. Unser Team bietet umfassende VBA-Lösungen, einschließlich der Entwicklung von maßgeschneiderten Makros und der Integration von erweiterten Speicherfunktionen.

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.