Excel VBA – Arbeitsmappe speichern
Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem How-To lernen Sie die Arbeitsmappe unter einem bestimmten Namen mit dem aktuellen Datum als Zusatz zu speichern.
Wechseln Sie mit ALT+F11
in die Entwicklungsumgebung und fügen Sie ein neues Modul ein. Um die Mappe zu speichern verwenden wir die Methode SaveAs
Als erstes Argument müssen Sie den Pfad und den Namen der Mappe eingeben.
Wir wollen die Mappe auf der Festplatte C
speichern. Unsere Mappe soll „MeineMappe“ mit dem zweistelligen Tagesdatum, dem Monat und anschließend dem Jahr heißen. Um den Tag und den Monat immer zweistellig auszugeben, verwenden wir die Methode Format
. Die Mappe soll als normale Excel Mappe .xlsx
gespeichert werden.
Sub ArbeitsmappeSpeichern() ActiveWorkbook.SaveAs ("C:\MeineMappe_" & _ Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _ ".xlsx") End Sub
Anschließend wird die aktive Arbeitsmappe mit ActiveWorkbook.Close
geschlossen. Das gesamte Makro sieht nun so aus:
Sub ArbeitsmappeSpeichern() ActiveWorkbook.SaveAs ("C:\MeineMappe_" & _ Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _ ".xlsx") ActiveWorkbook.Close End Sub
Statt des hartkodierten Pfades können Sie die neue Datei mit der Eigenschaft ThisWorkbook.Path
in dem Ordner der aktuellen Mappe speichern.
Sub ArbeitsmappeSpeichern() ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\MeineMappe_" & _ Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _ ".xlsx") ActiveWorkbook.Close End Sub
Um die neue Mappe als Mappe mit Makros speichern zu können, verwenden Sie das Attribut FileFormat
. Die XlFileFormat-Enumeration für eine Arbeitsmappe mit Makros (xlOpenXMLWorkbookMacroEnabled
) lautet 52.
Sub ArbeitsmappeSpeichern() ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\MeineMappe_" & _ Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _ ".xlsm"), 52 ActiveWorkbook.Close End Sub
Alternativ können Sie es auch ausschreiben FileFormat:=xlOpenXMLWorkbookMacroEnabled
Sub ArbeitsmappeSpeichern() ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\MeineMappe_" & _ Format(Day(Date), "00") & Format(Month(Date), "00") & Year(Date) & _ ".xlsm"), FileFormat:=xlOpenXMLWorkbookMacroEnabled ActiveWorkbook.Close End Sub
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.
Beeindrucke deinen Chef mit coolen Excel Tricks!
- Lasse dich von deinen Kollegen nicht abhängen!
- Spare Zeit und nutze diese für angenehmere Dinge
- Steigere deine Produktivität und Effizienz
- Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
- Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!