Arkusz zmiany nazwy VBA - Jak zmienić nazwę arkusza roboczego programu Excel za pomocą kodu VBA?

Zmiana nazw arkuszy w programie Excel jest wykonywana z paska zadań poniżej arkuszy roboczych, klikając je dwukrotnie, ale w VBA używamy metody właściwości Arkusze lub Arkusz, aby zmienić nazwę arkusza, składnia zmiany nazwy arkusza w VBA jest następująca Arkusze („ Stara nazwa arkusza ”) .Nazwa =„ Nowa nazwa arkusza ”.

Zmień nazwę arkusza w Excel VBA

Wszyscy wykonaliśmy to zadanie zmiany nazwy arkusza zgodnie z naszą tożsamością lub według naszej wygody, prawda? Zmiana nazwy to nie fizyka jądrowa do opanowania, ale jeśli jesteś programistą VBA, musisz znać zadanie zmiany nazwy arkusza. Ponieważ pracujemy z arkuszami roboczymi, używając ich nazw, ważne jest, aby znać znaczenie nazw arkuszy w kodowaniu VBA. W tym artykule pokażemy, jak zmienić nazwę arkusza za pomocą kodowania Excel VBA.

Jak zmienić nazwę arkusza w VBA?

Zmiana nazwy arkusza nie wymaga żadnych specjalnych umiejętności. Musimy tylko odnieść się do nazwy arkusza, który zmieniamy, wprowadzając istniejącą nazwę arkusza.

Na przykład, jeśli chcemy zmienić nazwę arkusza o nazwie „Arkusz 1”, wówczas musimy wywołać arkusz według jego nazwy za pomocą obiektu Arkusz.

Arkusze robocze („Arkusz1”)

Po podaniu nazwy arkusza musimy wybrać właściwość „Nazwa”, aby zmienić nazwę arkusza.

Arkusze robocze („Arkusz1”). Nazwa

Teraz musimy ustawić właściwość Name na nazwę zgodnie z naszym życzeniem.

Arkusze robocze („Arkusz1”). Nazwa = „Nowa nazwa”

W ten sposób możemy zmienić nazwę arkusza roboczego w VBA za pomocą właściwości Nazwa.

W kolejnych sekcjach artykułu pokażemy Ci coraz więcej przykładów zmiany lub zmiany nazwy arkusza.

Przykłady zmiany nazw arkuszy w Excel VBA

Poniżej znajdują się przykłady arkusza zmian nazwy VBA.

Przykład # 1 - Zmień lub zmień nazwę arkusza za pomocą zmiennych VBA.

Na przykład spójrz na poniższy przykładowy kod.

Kod:

Sub Rename_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sheet1") Ws.Name = "New Sheet" End Sub

W powyższym kodzie najpierw zadeklarowałem zmienną jako arkusz roboczy.

Dim Ws As Worksheet

Następnie ustawiłem odwołanie do zmiennej jako „Arkusz1” za pomocą obiektu arkuszy roboczych.

Ustaw Ws = Worksheets („Sheet1”)

Teraz zmienna „Ws” zawiera odniesienie do arkusza „Arkusz1”.

Teraz, używając zmiennej „Ws”, zmieniłem nazwę arkusza na „Nowy arkusz”.

Ten kod zmieni nazwę „Arkusz1” na „Nowy arkusz”.

Jeśli uruchomię kod ręcznie lub za pomocą klawisza skrótu F5, ponownie otrzymamy błąd poza zakresem indeksu.

Powód, dla którego otrzymujemy ten błąd, ponieważ w poprzednim kroku zmieniliśmy już arkusz o nazwie „Arkusz1” na „Nowy arkusz”. Ponieważ nie ma już nazwy arkusza, „Arkusz1” nie jest dostępny, VBA zgłasza ten błąd.

Przykład # 2 - Zbierz wszystkie nazwy arkuszy roboczych w jednym arkuszu.

Możemy uzyskać wszystkie nazwy arkuszy roboczych ze skoroszytu w jednym arkuszu. Poniższy kod wyodrębni wszystkie nazwy arkuszy.

Kod:

Sub Renmae_Example2 () Dim Ws As Worksheet Dim LR As Long For Each Ws In ActiveWorkbook.Worksheets LR = Worksheets ("Main Sheet"). Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1). Wybierz ActiveCell.Value = Ws.Name Next Ws End Sub

Ten kod wyodrębni wszystkie dostępne nazwy arkuszy do arkusza o nazwie „Arkusz główny”.

Przykład # 3 - Ustaw stałą nazwę w arkuszu programu Excel za pomocą VBA

Ponieważ podczas kodowania pracujemy z nazwami arkuszy, ważne jest, aby nadać im trwałe nazwy. Jak nadamy im trwałe nazwy?

Na przykład spójrz na poniższy kod.

Kod:

Sub Rename_Example3 () Worksheets ("Sheet1"). Wybierz End Sub

Powyższy kod wybierze Sheet1.

Jeśli Twój skoroszyt jest używany przez wiele osób, jeśli ktoś zmienił nazwę arkusza, otrzymamy błąd poza zakresem indeksu.

To avoid this, we can set the permanent name to it. To set the permanent name to follow the below steps.

Step 1: Select the sheet we need to set the permanent name to in Visual Basic Editor.

Step 2: Press the F4 key to see the Properties window.

Step 3: Under Name, Property Change the name to “New Name.”

As you can see, one name is showing as “Sheet1” and in a bracket, we can see the new name as “New Sheet.”

Now in coding, we will use the new name instead of an actual visible name.

Code:

Sub Rename_Example3() NewSheet.Select End Sub

Now come back to the worksheet window. We can still see the sheet name as “Sheet1” only.

Now I will change the sheet name to “Sales.”

Jeśli uruchomię kod za pomocą klawisza F5 lub ręcznie, to nadal wybierze tylko arkusz o nazwie „Sprzedaż”. Ponieważ nadaliśmy mu stałą nazwę, nadal wybierze tylko ten sam arkusz.

Interesujące artykuły...