Arbeitsmappe erstellen und speichern in Excel VBA
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
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
Beispielscript Arbeitsmappe erstellen und speichern in Excel VBA
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.
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
Das könnte Dich auch interessieren
- Cells und Range kombiniert in Excel VBA
- Entwicklertools anzeigen (Microsoft Excel)
- Excel VBA Kommentare schreiben
- Excel VBA Module schneller hinzufügen
- For Next Schleife in Excel VBA
- Gültigkeitsbereich von Variablen in Excel VBA
- Höhere Zahl markieren in Excel
- If Then Else in Excel VBA
- Makro ausführen mit Button in Excel VBA
- Option Explicit benutzen oder nicht in Excel VBA
- Prozedur in Arbeitsmappe, Tabelle oder Modul?
- Start der Excel VBA Tutorial Reihe
- Tabellenblätter positionsgenau hinzufügen in Excel VBA
- Tabellennamen in Tabelle eintragen in Excel VBA
- While Wend Schleife in Excel VBA
- Zeilenumbruch bei längeren VBA Codezeilen
- Zellen von anderer Tabellen kopieren mit Excel VBA
- Zugriff auf Arbeitsmappen und Tabellen in Excel VBA