autor http://www.hackwars.pl/vba-excel-automatyczne-tworzenie-arkuszy-o-okreslonej-nazwie/

 

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)

 

Opis

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

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ę:)

 

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