Hier in diesem Tutorial zeige ich Euch wie Ihr über Excel VBA neue Arbeitsmappen mit Workbooks.Add erstellen könnt und diese auch speichern könnt. Dabei wird auch berücksichtigt, dass wir eine Datei als xlsm Datei speichern, die Makros enthalten könnte. Hierfür wird übrigens das FileFormat benötigt.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Im nachfolgenden Script erstellen wir eine neue Arbeitsmappe mit Workbooks.Add und fügen weitere 2 Tabellenblätter mit Worksheets.Add hinzu, sodass wir anschließend 3 Tabellenblätter haben.
Zuvor habe ich eine Objektvariable als Tabellenblatt mit Workbook deklariert. Um dann eine neue Arbeitsmappe zuzuweisen wird ganz am Anfang das Set benötigt.
Über ActiveWindow.Caption haben wir die Möglichkeit den Namen des Fensters zu ändern. Das hat aber keine Auswirkungen auf den Speicherprozess und gilt wirklich nur für das Fenster selbst.
Beim Speichern der Excel Datei im xls Format sind normalerweise keine weiteren Parameter nötig. Wollt Ihr allerdings die Datei als xlsm (also für Makros) speichern benötigt Ihr FileFormat oder eine entsprechende Konstante. Die möglichen Formate könnt Ihr hier finden: XLFileFormat
Unten habe ich beide Varianten zu stehen. Wenn Ihr möchtet könnt Ihr diese natürlich gerne austauschen.
Zum Schluss wird die Datei dann mit close geschlossen. Über das True wird die Arbeitsmappe bei einer vorherigen Änderung des Inhalts nochmal ohne Rückmeldung gespeichert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub NeueArbeitsmappeTutorial() Dim MeineArbeitsmappe As Workbook Set MeineArbeitsmappe = Workbooks.Add MeineArbeitsmappe.Worksheets.Add MeineArbeitsmappe.Worksheets.Add ActiveWindow.Caption = "MeineArbeitsmappe" 'xlOpenXMLWorkbookMacroEnabled 'FileFormat:=52 MeineArbeitsmappe.SaveAs "E:\Testordner\MeineArbeitsmappe5.xlsm", xlOpenXMLWorkbookMacroEnabled MeineArbeitsmappe.Close True End Sub |