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