Nieuwe werkmappen maken met VBA in Microsoft Excel

Anonim

Er kunnen gevallen zijn waarin u een nieuwe werkmap met een bepaald aantal bladen moet maken via een vba-code of macro. Hier is een eenvoudige macro waarmee u een nieuwe werkmap kunt maken> openen en vervolgens opslaan met maximaal 255 nieuwe werkbladen. In deze voorbeeldmacro maken we een nieuwe werkmap met 10 werkbladen.

Optie expliciet

Sub create_workbook()
Dim wb als werkboek
Stel wb = NewWorkbook (10) in
Einde sub

Functie NewWorkbook(wsCount As Integer) As Workbook
Dim OrigineelWerkbladTel zo lang
Stel NewWorkbook = niets in
Als wsCount 255 Dan Functie Afsluiten
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Stel NewWorkbook = Workbooks.Add in
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Functie beëindigen

Code Verklaring:

Eerst hebben we een procedure genaamd "create_werkboek”. In deze procedure hebben we een variabele wb als werkmap en roepen we via deze variabele de functie NewWorkbook aan. Dus de nieuwe functie wordt aangeroepen en de wscount is ingesteld op 10, wat het aantal werkbladen in de nieuwe werkmap is.

Dan gaan we naar de aangeroepen functie die is Functie NewWorkbook(wsCount as Integer) as Workbook. De waarde voor wsCount die 10 is, wordt doorgegeven vanuit de sub create_workbook.

Stel NewWorkbook = niets in

Eerst wordt de NewWorkbook op niets ingesteld, zodat we elke andere waarde kunnen wissen die eraan zou kunnen worden toegewezen in eerdere codes.

Als wsCount 255 dan functie afsluiten

Vervolgens moeten we controleren of de door de sub doorgegeven waarde kleiner is dan 1 of groter dan 255. Als het antwoord ja is op een van deze controles, verlaat dan de functie.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Er is een parameter op de Excel-optiespagina waar het aantal bladen dat in een nieuwe werkmap moet worden opgenomen, wordt ingesteld. We geven deze waarde door aan de variabele Oorspronkelijke werkbladtelling.De variabele bevat het standaardaantal bladen dat al vooraf was ingesteld in de Excel-opties.

Application.SheetsInNewWorkbook = wsCount

Vervolgens kennen we de waarde van wsCount toe die wordt doorgegeven van de sub naar de parameter in de Excel-opties voor het aantal bladen dat in een nieuwe werkmap moet worden opgenomen. Dus nu verandert deze parameter van de oude waarde in 10. De oude waarde kan 1 of 3 zijn of een ander getal dat door de gebruiker is ingesteld.

Stel NewWorkbook = Workbooks.Add in

We maken een nieuwe werkmap die is toegewezen aan NewWorkbook. Deze nieuwe werkmap is gemaakt met het aantal bladen dat is opgegeven in wsCount. U ziet een nieuwe werkmap met 10 bladen met de titel Blad1 tot Blad10. Zie de foto hieronder voor het nieuwe bestand Book3 dat is gemaakt.

In de onderstaande afbeelding ziet u het aantal bladen dat in de nieuwe werkmap is gemaakt.

Ook zal het nummer 10 verschijnen in de Application.SheetsInNewWorkbook-parameter in Excel-opties zoals in de onderstaande afbeelding -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook wordt teruggezet naar het oorspronkelijke nummer dat aanwezig was voordat de wsCount werd ingesteld. Dus als het oorspronkelijke getal 1 of 3 was, keert deze parameter nu terug naar dat getal.

Als je onze blogs leuk vond, deel deze dan met je vrienden op Facebook. En je kunt ons ook volgen op Twitter en Facebook.
We horen graag van je, laat ons weten hoe we ons werk kunnen verbeteren, aanvullen of vernieuwen en het voor jou beter kunnen maken. Schrijf ons op e-mailsite