Twórz nowe skoroszyty za pomocą VBA w programie Microsoft Excel

Anonim

Mogą wystąpić sytuacje, w których trzeba utworzyć nowy skoroszyt z określoną liczbą arkuszy za pomocą kodu lub makra vba. Oto proste makro, które pozwala utworzyć nowy skoroszyt> otwórz, a następnie zapisz z maksymalnie 255 nowymi arkuszami roboczymi. W tym przykładowym makrze utworzymy nowy skoroszyt z 10 arkuszami.

Opcja Wyraźna

Sub create_workbook()
Dim wb jako skoroszyt
Ustaw wb = Nowy Zeszyt(10)
Napis końcowy

Funkcja NewWorkbook(wsCount As Integer) jako skoroszyt
Dim OriginalWorksheetCount As Long
Ustaw Nowy Zeszyt = Nic
Jeśli wsCount 255 to wyjdź z funkcji
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Ustaw NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Koniec funkcji

Wyjaśnienie kodu:

Najpierw mamy procedurę o nazwie „utwórz_skoroszyt”. W tej procedurze mamy zmienną wb jako skoroszyt i wywołujemy funkcję NewWorkbook poprzez tę zmienną. Tak więc wywoływana jest nowa funkcja, a wscount jest ustawione na 10, co jest liczbą arkuszy w nowym skoroszycie.

Następnie przechodzimy do wywoływanej funkcji, która jest Funkcja NewWorkbook(wsCount as Integer) jako skoroszyt. Wartość wsCount, która wynosi 10, jest przekazywana z elementu podrzędnego create_workbook.

Ustaw Nowy Zeszyt = Nic

Po pierwsze, NewWorkbook jest ustawiony na nic, abyśmy mogli usunąć wszelkie inne wartości, które mogły być do niego przypisane we wcześniejszych kodach.

Jeśli wsCount 255 to wyjście z funkcji

Następnie musimy sprawdzić, czy wartość przekazana z sub jest mniejsza niż 1 lub większa niż 255. Jeśli odpowiedź brzmi tak na którekolwiek z tych sprawdzeń, wyjdź z funkcji.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Na stronie opcji programu Excel znajduje się parametr, w którym ustawiono liczbę arkuszy, które mają zostać uwzględnione w nowym skoroszycie. Tę wartość przekazujemy do zmiennej Licznik oryginalnego arkusza roboczego.Zmienna będzie przechowywać domyślną liczbę arkuszy, która została już wstępnie ustawiona w opcjach programu Excel.

Application.SheetsInNewWorkbook = wsCount

Następnie przypisujemy wartość wsCount, która jest przekazywana z sub do parametru w opcjach programu Excel dla liczby arkuszy, które mają zostać uwzględnione w nowym skoroszycie. Więc teraz ten parametr zmieni się ze starej wartości na 10. Stara wartość może wynosić 1 lub 3 lub dowolną inną liczbę ustawioną przez użytkownika.

Ustaw NewWorkbook = Workbooks.Add

Tworzymy nowy skoroszyt, który jest przypisany do NewWorkbook. Ten nowy skoroszyt jest tworzony z liczbą arkuszy określoną w wsCount. Zobaczysz nowy skoroszyt z 10 arkuszami zatytułowanymi Arkusz1 do Arkusz10. Zobacz zdjęcie poniżej, aby zobaczyć nowy plik Book3, który został utworzony.

Poniższy obrazek pokazuje liczbę arkuszy, które zostały utworzone w nowym skoroszycie.

Również liczba 10 pojawi się w parametrze Application.SheetsInNewWorkbook w opcjach programu Excel, jak na poniższym obrazku -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook jest zwracany do oryginalnego numeru, który był obecny przed ustawieniem wsCount. Więc jeśli oryginalna liczba wynosiła 1 lub 3, ten parametr powróci teraz do tej liczby.

Jeśli podobały Ci się nasze blogi, podziel się nimi ze znajomymi na Facebooku. A także możesz śledzić nas na Twitterze i Facebooku.
Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy ulepszyć, uzupełnić lub unowocześnić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na witryna e-mail