VBA-Methoden: Eine Datei neu erstellen und speichern als

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 „VBA-Methoden: Eine Datei speichern“ 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.

VBADateineu1

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

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s