Es kann innerhalb einer VBA-Prozedur erforderlich werden, eine neue Excel-Arbeitsmappe zu erstellen. Gleichzeitig sollte der neuen Datei dann auch ein Name und ein Ablageort zugewiesen werden.
Datei neu erstellen und erstmalig speichern
Eine neue Datei zu erstellen, erfordert nicht viel Code.
Sub NeueDatei1()
Workbooks.Add
End Sub
Das ist schon alles.
Nun sollen aber noch der Name und der Ablageort festgelegt werden. Dazu nutze ich einen Code aus dem Beitrag, in dem es um das Speichern einer Datei ging und passe ihn an.
Am Ende der Prozedur wird die Datei geschlossen.
Sub NeueDatei2()
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=”C:\Excel\VBA_NeuDatei.xlsx”
ActiveWorkbook.Close
End Sub
Die Anzahl der Arbeitsblätter in der neuen Datei richtet sich danach, welche Einstellung in den Optionen enthalten ist.
Rufe dazu Datei/Optionen/Allgemein auf. Die Optionen “Beim Erstellen neuer Arbeitsmappen” enthalten unter “Die folgende Anzahl Blätter aufnehmen:” den Eintrag “3”.
Die neue Datei hat demnach drei Arbeitsblätter, die im Standard bezeichnet sind: Tabelle1, Tabelle2, Tabelle3.
Wie die Anzahl der Arbeitsblätter in der neuen Datei und deren Bezeichnungen durch ein Makro verändert werden können, beschreibe ich in einem späteren Beitrag.
Datei unter einem anderen Namen speichern
Es kommt immer wieder vor, dass eine Excel-Datei unter einem anderen Namen gespeichert und dann weiter bearbeitet werden soll.
In diesem Beispiel erfährst du, wie das mit der Datei “VBA_Datenblatt.xlsx” geht. Erstelle zunächst eine Datei mit diesem Namen.
Neue Datei mit gleicher Extension
Die neue Datei soll “VBA_Datenblatt_neu.xlsx” heißen. Nach dem Speichern hast du dann zwei statt bisher eine Datei.
Sub SpeichernAls1()
Workbooks(“VBA_Datenblatt.xlsx”).SaveAs Filename:=”C:\Excel\VBA_Datenblatt_neu.xlsx”
MsgBox(“Datei unter neuem Namen gespeichert”)
End Sub
Neue Datei mit anderer Extension
Die neue Datei soll “VBA_Datenblatt.xlsm” heißen. Es muss also zusätzlich auch noch die Extension von “xlsx” auf “xlsm” geändert werden.
Eine Übersicht zu den Dateiformaten findest du z.B. hier:
https://msdn.microsoft.com/de-de/library/office/ff198017.aspx
Das Format 52 steht für eine Excel-Arbeitsmappe mit Makros.
Sub SpeichernAls2()
Workbooks(“VBA_Datenblatt.xlsx”).SaveAs Filename:=”C:\Excel\VBA_Datenblatt.xlsm, FileFormat:=52
MsgBox(“Datei unter neuem Namen gespeichert”)
End Sub
Datei öffnen und mit anderer Extension speichern
Du willst zuerst die Datei “VBA_Datenblatt.xlsx” öffnen, sie dann unter dem Namen “VBA_Datenblatt_neu.xlsm” speichern und anschließend schließen.
Das geht z.B. mit diesem Makro:
Sub SpeichernAls3()
Workbooks.Open Filename:=”C:\Excel\VBA_Datenblatt.xlsx”
ActiveWorkbook.SaveAs Filename:=”C:\Excel\VBA_Datenblatt_neu.xlsm”, FileFormat:=52
MsgBox(“Datei unter neuem Namen gespeichert”)
ActiveWorkbook.Close
End Sub
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.
2 Gedanken zu „VBA-Methoden: Eine Datei neu erstellen und speichern als“