Excel VBA – Arbeitsmappe speichern

Excel VBA – Arbeitsmappe speichern
4.8 Sterne
5 Bewertungen

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.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

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.

Denis Reis ist Business Intelligence Consultant bei Dahlbeer und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen