Es kann Fälle geben, in denen Sie eine neue Arbeitsmappe mit einer bestimmten Anzahl von Blättern über einen VBA-Code oder ein Makro erstellen müssen. Hier ist ein einfaches Makro, mit dem Sie eine neue Arbeitsmappe erstellen> öffnen und dann mit maximal 255 neuen Arbeitsblättern speichern können. In diesem Beispielmakro erstellen wir eine neue Arbeitsmappe mit 10 Arbeitsblättern.
Option explizit
Unter create_workbook()
Dim wb als Arbeitsmappe
wb setzen = NewWorkbook(10)
End Sub
Funktion NewWorkbook(wsCount As Integer) als Arbeitsmappe
Dim OriginalWorksheetCount As Long
Set NewWorkbook = Nichts
Wenn wsCount 255, dann Funktion beenden
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Set NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Endfunktion
Code-Erklärung:
Zuerst haben wir eine Prozedur namens „create_workbook“. In dieser Prozedur haben wir eine Variable wb als Arbeitsmappe und rufen über diese Variable die Funktion NewWorkbook auf. Also wird die neue Funktion aufgerufen und wscount auf 10 gesetzt, was der Anzahl der Arbeitsblätter in der neuen Arbeitsmappe entspricht.
Dann gehen wir zur aufgerufenen Funktion, die ist Funktion NewWorkbook(wsCount as Integer) als Arbeitsmappe. Der Wert für wsCount, der 10 ist, wird von der Unterdatei create_workbook übergeben.
Setze NewWorkbook = Nichts
Zuerst wird das NewWorkbook auf nichts gesetzt, damit wir jeden anderen Wert löschen können, der ihm in früheren Codes zugewiesen werden könnte.
Wenn wsCount 255, dann Funktion beenden
Als nächstes müssen wir prüfen, ob der vom Sub übergebene Wert kleiner als 1 oder größer als 255 ist. Wenn die Antwort auf eine dieser Prüfungen ja lautet, verlassen Sie die Funktion.
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Es gibt einen Parameter auf der Excel-Optionsseite, in dem die Anzahl der Blätter festgelegt wird, die in eine neue Arbeitsmappe aufgenommen werden sollen. Wir übergeben diesen Wert an die Variable OriginalWorksheetCount.Die Variable enthält die Standardanzahl von Blättern, die bereits in den Excel-Optionen voreingestellt war.
Application.SheetsInNewWorkbook = wsCount
Dann weisen wir den Wert von wsCount, der vom sub an den Parameter in den Excel-Optionen übergeben wird, für die Anzahl der Blätter zu, die in eine neue Arbeitsmappe aufgenommen werden sollen. Dieser Parameter ändert sich jetzt also vom alten Wert auf 10. Der alte Wert könnte 1 oder 3 oder eine beliebige andere vom Benutzer eingestellte Zahl sein.
Set NewWorkbook = Workbooks.Add
Wir erstellen eine neue Arbeitsmappe, die NewWorkbook zugewiesen wird. Diese neue Arbeitsmappe wird mit der in wsCount angegebenen Anzahl von Blättern erstellt. Sie sehen eine neue Arbeitsmappe mit 10 Blättern mit dem Titel Sheet1 bis Sheet10. Siehe das Bild unten für die neue Datei Book3, die erstellt wurde.
Das Bild unten zeigt Ihnen die Anzahl der Blätter, die in der neuen Arbeitsmappe erstellt wurden.
Auch die Zahl 10 wird im Parameter Application.SheetsInNewWorkbook in den Excel-Optionen wie im Bild unten angezeigt -
Application.SheetsInNewWorkbook = OriginalWorksheetCount
TheApplication.SheetsInNewWorkbook wird auf seine ursprüngliche Nummer zurückgesetzt, die vor dem Setzen von wsCount vorhanden war. Wenn also die ursprüngliche Zahl 1 oder 3 war, wird dieser Parameter jetzt auf diese Zahl zurückgesetzt.
Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie mit Ihren Freunden auf Facebook. Und Sie können uns auch auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder erneuern und für Sie verbessern können. Schreiben Sie uns an E-Mail-Site