VBA Datei speichern – 20 einfache Beispiele
In this Article
- Arbeitsmappe speichern – VBA
- Speichern einer bestimmten Arbeitsmappe
- Die aktive Arbeitsmappe speichern
- Speichern der Arbeitsmappe, in der der Code gespeichert ist
- Alle geöffneten Arbeitsmappen speichern
- Alle geöffneten Arbeitsmappen, die nicht schreibgeschützt geöffnet wurden, speichern
- Eine durch eine Variable definierte Arbeitsmappe speichern
- Speichern einer Arbeitsmappe, die durch eine String-Variable definiert ist
- Speichern einer Arbeitsmappe in der Reihenfolge, in der sie geöffnet wurde.
- Speichern einer Arbeitsmappe basierend auf einem Zellenwert
- Speichern unter – VBA
- Syntax von „Speichern unter“:
- Beispiele für Speichern-Unter-Syntax:
- Arbeitsmappe Speichern unter – Gleiches Verzeichnis
- Arbeitsmappe Speichern unter – Neues Verzeichnis
- Arbeitsmappe speichern unter – neues Verzeichnis, Dateierweiterung angeben
- Arbeitsmappe Speichern unter – Neues Verzeichnis, Dateierweiterung angeben – Alternative Methode
- Arbeitsmappe speichern unter – Kennwort zum Öffnen der Datei hinzufügen
- Arbeitsmappe Speichern unter – Kennwort für Schreibberechtigung hinzufügen
- Arbeitsmappe speichern unter – schreibgeschützt empfohlen
- Andere Beispiele von „Speichern Unter“
- VBA-Programmierung leicht gemacht
In diesem VBA-Tutorial erfahren Sie, wie Sie eine Datei mit den Befehlen „Speichern“ und „Speichern unter“ in VBA speichern können.
Arbeitsmappe speichern – VBA
Der VBA-Befehl „Speichern“ speichert eine Excel-Datei ähnlich wie das Klicken auf das Symbol „Speichern“ oder die Verwendung der Tastenkombination Speichern (CTRL + S).
Speichern einer bestimmten Arbeitsmappe
Um eine Arbeitsmappe zu speichern, verweisen Sie auf das Arbeitsmappenobjekt und verwenden den Befehl Speichern.
Workbooks("savefile.xlsm").Save
Die aktive Arbeitsmappe speichern
Hinweis: Dies ist die aktuell aktive Arbeitsmappe von innerhalb des VBA-Codes, die sich von ThisWorkbook, das den laufenden Code enthält, unterscheidet.
ActiveWorkbook.Save
Speichern der Arbeitsmappe, in der der Code gespeichert ist
ThisWorkbook.Save
Alle geöffneten Arbeitsmappen speichern
Damit werden alle geöffneten Arbeitsmappen in einer Schleife durchlaufen und jede einzelne gespeichert.
Dim wb as Workbook
For Each wb In Application.Workbooks
wb.Save
Next wb
Alle geöffneten Arbeitsmappen, die nicht schreibgeschützt geöffnet wurden, speichern
Hinweis: Wenn Sie eine Arbeitsmappe im schreibgeschützten Modus öffnen, kann die Datei nicht gespeichert werden. Um die Datei zu speichern, müssen Sie „Speichern unter“ verwenden und sie unter einem anderen Namen speichern.
Dim wb as Workbook
For Each wb In Application.Workbooks
If Not wb.ReadOnly then
wb.Save
End if
Next wb
Eine durch eine Variable definierte Arbeitsmappe speichern
So wird eine Arbeitsmappe gespeichert, die einer Arbeitsmappenobjektvariable zugewiesen ist.
Dim wb as Workbook
set wb = Workbooks("savefile.xlsm")
wb.save
Speichern einer Arbeitsmappe, die durch eine String-Variable definiert ist
Damit wird eine Arbeitsmappe gespeichert, deren Name in einer String-Variable gespeichert ist.
Dim wbstring as string
wbstring = "savefile.xlsm"
Workbooks(wbstring).save
Speichern einer Arbeitsmappe in der Reihenfolge, in der sie geöffnet wurde.
Hinweis: Die erste geöffnete Arbeitsmappe würde die Nummer 1 haben, die zweite die Nummer 2, usw.
Workbooks(1).Save
Speichern einer Arbeitsmappe basierend auf einem Zellenwert
Damit wird eine Arbeitsmappe gespeichert, deren Name in einem Zellenwert enthalten ist.
Dim wbstring as string
wbstring = activeworkbook.sheets("sheet1").range("wb_save").value
workbooks(wbstring).save
Speichern unter – VBA
Der VBA-Befehl „Speichern unter“ speichert eine Excel-Datei als neue Datei, ähnlich wie das Klicken auf das Symbol „Speichern unter“ oder die Verwendung des Shortcuts Speichern unter (Alt > F > A). Oben haben wir alle Möglichkeiten gezeigt, um die zu speichernde Arbeitsmappe anzugeben. Sie können genau dieselben Methoden verwenden, um Arbeitsmappen zu identifizieren, wenn Sie den Befehl „Speichern unter“ verwenden. „Speichern unter“ verhält sich ähnlich wie Speichern, mit dem Unterschied, dass Sie auch den Namen der neuen Datei angeben müssen. In der Tat hat „Speichern unter“ viele potenzielle Variablen zu definieren:
Syntax von „Speichern unter“:
workbook object .SaveAs(FileName, FileFormat, Password, WriteResPassword, _
ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _
AddToMru,TextCodepage, TextVisualLayout, Local)
Eine vollständige Beschreibung aller Speichern-Unter-Argumente ist weiter unten enthalten. Im Folgenden werden wir uns auf die gängigsten Beispiele konzentrieren.
Hinweis: Diese Argumente können als String mit Klammern oder als definierte Variablen eingegeben werden.
Beispiele für Speichern-Unter-Syntax:
Arbeitsmappe Speichern unter – Gleiches Verzeichnis
ActiveWorkbook.SaveAs Filename:= "neu"
oder
ActiveWorkbook.SaveAs "neu"
oder
Dim wbstring as string
wbstring = "neu"
ActiveWorkbook.SaveAs Filename:= wbstring
Arbeitsmappe Speichern unter – Neues Verzeichnis
ActiveWorkbook.SaveAs Filename:= "C:\new"
oder
Dim wbstring as string
wbstring = "C:\neu"
ActiveWorkbook.SaveAs Filename:= wbstring=
Arbeitsmappe speichern unter – neues Verzeichnis, Dateierweiterung angeben
ActiveWorkbook.SaveAs Filename:= "C:\neu.xlsx"
oder
Dim wbstring as string
wbstring = "C:\neu.xlsx"
ActiveWorkbook.SaveAs Filename:= wbstring
Arbeitsmappe Speichern unter – Neues Verzeichnis, Dateierweiterung angeben – Alternative Methode
Sie können auch das Dateiformat in einem eigenen Argument angeben.
.xlsx = 51 '(52 für Mac)
.xlsm = 52 '(53 für Mac)
.xlsb = 50 '(51 für Mac)
.xls = 56 '(57 für Mac)
ActiveWorkbook.SaveAs Filename:= "C:\new", FileFormat:= 51
Arbeitsmappe speichern unter – Kennwort zum Öffnen der Datei hinzufügen
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", Password:= "Kennwort"
Arbeitsmappe Speichern unter – Kennwort für Schreibberechtigung hinzufügen
Wenn das richtige Kennwort nicht angegeben wird, wird die Arbeitsmappe als schreibgeschützt geöffnet
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", WriteRes:= "Kennwort"
Arbeitsmappe speichern unter – schreibgeschützt empfohlen
TRUE, um ein Meldungsfeld anzuzeigen, in dem empfohlen wird, die Datei schreibgeschützt zu öffnen.
ActiveWorkbook.SaveAs Filename:= "C:\new.xlsx", ReadOnlyRecommended:= TRUE
Andere Beispiele von „Speichern Unter“
Dialogfeld für „Speichern unter“ erstellen
Erzeugt das Dialogfeld „Speichern unter“, in dem der Benutzer aufgefordert wird, die Datei zu speichern. Beachten Sie, dass dieser einfache Code nicht in allen Fällen geeignet ist.
Application.GetSaveAsFilename
Dialogfeld für „Speichern unter“ mit vorgegebenem Dateinamen erstellen
Application.GetSaveAsFilename InitialFilename:="test.xlsx"
Dialogfeld für „Speichern unter“ mit vorgegebenem Standarddateinamen erstellen
Application.GetSaveAsFilename InitialFilename:="test.xlsx"
Neue Arbeitsmappe erstellen und speichern
Dies erstellt eine neue Arbeitsmappe und speichert sie sofort.
Dim wb As Workbook
Set wb = Workbooks.Add
Application.DisplayAlerts = False
wb.SaveAs Filename:="c:\Test1.xlsx"
Application.DisplayAlerts = True
Speicherwarnungen deaktivieren
Bei der Arbeit mit dem Speichern in VBA stoßen Sie möglicherweise auf verschiedene Speicherwarnungen oder Aufforderungen. Um Warnungen zu deaktivieren, fügen Sie diese Codezeile ein:
Application.DisplayAlerts=False
und um Warnungen wieder zu aktivieren:
Application.DisplayAlerts=True
VBA-Programmierung leicht gemacht
Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – ein VBA-Code-Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu programmieren!