Jak dodać nowe arkusze w excelu za pomocą vba
Aby dodać nowe arkusze do skoroszytu programu Excel, możesz użyć następujących metod w języku VBA:
Metoda 1: Dodaj nowy arkusz
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
To makro doda do skoroszytu nowy arkusz z automatycznie wygenerowaną nazwą opisującą numer arkusza, który reprezentuje w skoroszycie.
Na przykład, jeśli w skoroszycie znajdują się trzy arkusze i uruchomisz to makro, zostanie utworzony nowy arkusz o nazwie Arkusz4 .
Uwaga : Domyślnie VBA doda nowy arkusz bezpośrednio przed aktualnie aktywnym arkuszem.
Metoda 2: Dodaj wiele nowych arkuszy
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
To makro doda trzy nowe arkusze do skoroszytu.
Metoda 3: Dodaj nowy arkusz z nazwą
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
To makro doda nowy arkusz do skoroszytu o nazwie MyNewSheet .
Metoda 4: Dodaj nowy arkusz z nazwą przed konkretnym arkuszem
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
To makro doda do skoroszytu nowy arkusz o nazwie MyNewSheet tuż przed istniejącym arkuszem o nazwie Teams .
Metoda 5: Dodaj nowy arkusz z nazwą po konkretnym arkuszu
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
To makro doda do skoroszytu nowy arkusz o nazwie MyNewSheet bezpośrednio po istniejącym arkuszu o nazwie Teams .
Metoda 6: Dodaj nowy arkusz z nazwą na końcu skoroszytu
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
To makro doda do skoroszytu nowy arkusz o nazwie MyNewSheet na samym końcu skoroszytu.
Metoda 7: Dodaj nowy arkusz z nazwą na początku skoroszytu
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
To makro doda do skoroszytu nowy arkusz o nazwie MyNewSheet na samym początku skoroszytu.
Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującym skoroszytem programu Excel z trzema istniejącymi arkuszami:
Przykład 1: Dodaj nowy arkusz
Możemy utworzyć następujące makro, aby dodać do skoroszytu nowy arkusz z automatycznie wygenerowaną nazwą:
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
Gdy uruchomimy to makro, do skoroszytu zostanie dodany nowy arkusz o nazwie Arkusz4 tuż przed arkuszem Teams , który wybraliśmy podczas uruchamiania makra:
Przykład 2: Dodaj wiele nowych arkuszy
Możemy utworzyć następujące makro, aby dodać do skoroszytu trzy nowe arkusze z automatycznie wygenerowanymi nazwami:
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
Kiedy uruchomimy to makro, do skoroszytu zostaną dodane trzy nowe arkusze bezpośrednio przed arkuszem Teams , który wybraliśmy podczas uruchamiania makra:
Przykład 3: Dodaj nowy arkusz z nazwą
Możemy utworzyć następujące makro, aby dodać nowy arkusz do skoroszytu o określonej nazwie:
Sub AddSheetToWorkbook()
Sheets.Add.Name = " MyNewSheet "
End Sub
Kiedy uruchomimy to makro, do skoroszytu zostanie dodany nowy arkusz o nazwie MyNewSheet tuż przed arkuszem Teams , który wybraliśmy podczas uruchamiania makra:
Przykład 4: Dodaj nowy arkusz z nazwą przed konkretnym arkuszem
Możemy utworzyć następujące makro, aby dodać nowy arkusz do skoroszytu bezpośrednio przed konkretnym istniejącym arkuszem:
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Po uruchomieniu tego makra do skoroszytu bezpośrednio przed arkuszem Teams dodawany jest nowy arkusz o nazwie MyNewSheet :
Przykład 5: Dodaj nowy arkusz z nazwą po konkretnym arkuszu
Możemy utworzyć następujące makro, aby dodać nowy arkusz do skoroszytu bezpośrednio po konkretnym istniejącym arkuszu:
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(" Teams ")).Name = " MyNewSheet "
End Sub
Kiedy uruchomimy to makro, bezpośrednio po arkuszu Teams do skoroszytu zostanie dodany nowy arkusz o nazwie MyNewSheet :
Przykład 6: Dodaj nowy arkusz z nazwą na końcu skoroszytu
Możemy utworzyć następujące makro, aby dodać nowy arkusz na samym końcu skoroszytu:
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = " MyNewSheet "
End Sub
Kiedy uruchomimy to makro, na samym końcu skoroszytu zostanie dodany nowy arkusz o nazwie MyNewSheet :
Przykład 7: Dodaj nowy arkusz z nazwą na początku skoroszytu
Możemy utworzyć następujące makro, aby dodać nowy arkusz na samym początku skoroszytu:
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = " MyNewSheet "
End Sub
Kiedy uruchomimy to makro, na samym początku skoroszytu zostanie dodany nowy arkusz o nazwie MyNewSheet :
Uwaga : Pełną dokumentację metody Sheets.Add można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak znaleźć ostatnio używaną linię
VBA: Jak znaleźć ostatnio używaną kolumnę
VBA: Jak policzyć liczbę arkuszy w skoroszycie