Създавайте нови работни книги с помощта на VBA в Microsoft Excel

Anonim

Възможно е да има случаи, в които трябва да създадете нова работна книга с определен брой листове чрез vba код или макрос. Ето един прост макрос, който ви позволява да създадете нова работна книга> отворете и след това да запишете с максимум 255 нови работни листа. В този примерен макрос ще създадем нова работна книга с 10 работни листа.

Опция Изрично

Sub create_workbook ()
Dim wb Като работна книга
Задайте wb = Нова работна книга (10)
End Sub

Функция NewWorkbook (wsCount As Integer) Като работна книга
Dim OriginalWorksheetCount As Long
Задайте NewWorkbook = Нищо
Ако wsCount 255 След това излезте от функцията
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Задайте NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Крайна функция

Код Обяснение:

Първо имаме процедура, наречена „create_workbook”. В тази процедура имаме променлива wb като работна книга и извикваме функцията NewWorkbook чрез тази променлива. Така че новата функция се извиква и wscount е зададен на 10, което е броят на работните листове в новата работна книга.

След това отиваме към извиканата функция, която е Функция NewWorkbook (wsCount като Integer) като работна книга. Стойността за wsCount, която е 10, се предава от под -файла create_workbook.

Задайте NewWorkbook = Нищо

Първо NewWorkbook се настройва на нищо, за да можем да изчистим всяка друга стойност, която би могла да му бъде присвоена във всички предишни кодове.

Ако wsCount 255, тогава излезте от функцията

След това трябва да проверим дали стойността, предадена от подводницата, е по -малка от 1 или по -голяма от 255. Ако отговорът е да на някоя от тези проверки, излезте от функцията.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

На страницата с опции на excel има параметър, в който е зададен броят на листовете, които да бъдат включени в нова работна книга. Предаваме тази стойност на променливата OriginalWorksheetCount.Променливата ще съдържа стандартния брой листове, който вече е предварително зададен в опциите на Excel.

Application.SheetsInNewWorkbook = wsCount

След това присвояваме стойността на wsCount, която се предава от под -параметъра в параметъра в опциите на excel за броя листове, които да бъдат включени в нова работна книга. Така че сега този параметър ще се промени от старата стойност на 10. Старата стойност може да бъде 1 или 3 или друг номер, зададен от потребителя.

Задайте NewWorkbook = Workbooks.Add

Създаваме нова работна книга, която е присвоена на NewWorkbook. Тази нова работна книга е създадена с броя листове, посочени в wsCount. Ще видите нова работна книга с 10 листа, озаглавена Sheet1 до Sheet10. Вижте снимката по -долу за новия файл Book3, който е създаден.

Снимката по -долу ще ви покаже броя листове, създадени в новата работна книга.

Също така числото 10 ще се покаже в Application.SheetsInNewWorkbook параметър в Excel Options, както е на снимката по -долу -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook се връща към първоначалния си номер, който е присъствал преди задаването на wsCount. Така че, ако първоначалното число е 1 или 3, този параметър сега ще се върне към това число.

Ако ви харесаха нашите блогове, споделете го с приятелите си във Facebook. Можете също така да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим, допълним или обновим работата си и да я подобрим. Пишете ни на имейл сайт