VBA / EXCEL : Automatyczne tworzenie arkuszy o określonej nazwie

W tym wpisie przedstawiam jak automatycznie utworzyć 12 arkuszy, których nazwa jest skrótem każdego miesiąca.

Thank you for reading this post, don't forget to subscribe!

Na początku utwórzmy nowy plik Excela z obsługą makr.
Jeśli w pliku znajduje się więcej niż jeden arkusz należy usunąć nadwyżkę:)

Następnie uruchamiamy edytor VBA dodajemy poniższy kod:

Public Sub DodajArkusze()
'deklarowanie zmiennych
Dim i As Integer
Dim WS As Worksheet

i = 1

'rozpoczęcie pętli
For i = 1 To 12


If i > Worksheets.Count Then
'jeśli i jest większa od liczby arkuszy w skoroszycie (pliku) to 
'ustawia zmienną WS na nowo dodany arkusz
Set WS = Sheets.Add(After:=Sheets(Worksheets.Count))

Else
'ustawia zmienna WS na pierwszy arkusz z pętli
'tu pętla zagląda tylko za pierwszym razem
Set WS = Sheets(Worksheets.Count)

End If
'zmienia nazwę aktualnie ustawionego arkusza na skrót nazwy miesiąca
WS.Name = MonthName(i, True)

'zwiększa wartość zmiennej i o 1 
Next i
End Sub

Krótkie objaśnienia co do kodu:

Worksheets.Count – zwraca liczbę arkuszy w skoroszycie
Sheets.Add(After:=Sheets(Worksheets.Count)) – dodaje nowy arkusz po bieżącym
WS.Name = MonthName(i, True) – zmienia nazwę ustawionego skoroszytu na skrót nazwy kolejnego miesiąca (gdybyśmy chcieli użyć nazwy całego miesiąca zmieniamy wartość True na False)

Wynik działania programu
arkusze_miesiace