VBA Gaukite lapo pavadinimą / pervardykite lapą

Ši pamoka apims sąveiką su lakštų pavadinimais VBA.

Gaukite lapo pavadinimą

Lapų pavadinimai saugomi vardas nuosavybė Lakštai arba Darbo lapai objektas. Lapo pavadinimas yra „skirtuko“ pavadinimas, matomas „Excel“ apačioje:

Gaukite „ActiveSheet“ pavadinimą

Pranešimų laukelyje bus rodomas „ActiveSheet“ pavadinimas:

1 „MsgBox ActiveSheet.Name“

Gaukite lapo pavadinimą pagal indekso numerį

Pranešimų laukelyje bus rodomas pirmojo darbalapio pavadinimas:

1 „MsgBox Sheets“ (1). Pavadinimas

Bus rodomas paskutinio darbaknygės darbalapio pavadinimas:

1 „MsgBox Sheets“ („Sheets.Count“). Pavadinimas

Gaukite lapo pavadinimą pagal kodo pavadinimą

VBA redaktoriuje yra galimybė pakeisti lapo „kodo pavadinimą“. „Excel“ vartotojas nemato kodo pavadinimo ir gali būti matomas tik VBA redaktoriuje:

VBA, dirbdami su skaičiuoklėmis, galite nurodyti įprastą skirtuko pavadinimą:

1 Skaičiuoklės („TabName“). Suaktyvinkite

arba VBA kodo pavadinimas:

1 CodeName. Aktyvinti

Nuoroda į kodo pavadinimą yra pageidautina, jei skirtuko „Lapas“ pavadinimas kada nors pasikeis. Jei leisite „Excel“ vartotojui prieigą prie keičiamų lapų pavadinimų, turėtumėte nurodyti kodo pavadinimą savo VBA kode, kad skirtuko „Sheet“ pavadinimo neatitikimas nesukeltų klaidos. Lapų kodų pavadinimai išsamiau aptariami čia.

Norėdami gauti lapo pavadinimą naudodami VBA kodo pavadinimą, atlikite šiuos veiksmus:

1 „MsgBox“ kodo pavadinimas.pavadinimas

Pervardyti lapą

Skaičiuokles galite pervardyti koreguodami vardas nuosavybė Lakštai arba Darbo lapai objektas.

Pervardykite „ActiveSheet“

1 ActiveSheet.Name = "Naujas vardas"

Pervardykite lapą vardu

1 Skaičiuoklės ("OldSheet"). Name = "NewName"

Pervardykite lapą pagal lapo indekso numerį

Čia mes naudojame 1, kad pervadintume pirmąjį darbaknygės lapą.

1 Skaičiuoklės (1) .Name = "NewName"

Pervardykite lapą pagal kodo pavadinimą

Šis kodas pervadins lapą naudodamas VBA kodo pavadinimą (aptartas aukščiau):

1 Component.Name = "Naujas vardas"

Patikrinkite, ar egzistuoja lapo pavadinimas

Mes sukūrėme funkciją, norėdami patikrinti, ar jau yra tam tikro pavadinimo lapas.

123456789101112 „Patikrinkite, ar lape yra diapazonas.„Palikite diapazoną tuščią, kad patikrintumėte, ar lapas yra„Įėjimai:„WhatSheet - lapo eilutės pavadinimas (ex„ Sheet1 “)„WhatRange“ (pasirenkama, numatytoji = „A1“) - diapazono eilutės pavadinimas (ex „A1“)Funkcijų diapazonas Egzistuoja („WhatSheet“ kaip eilutė, pasirinktinai „ByVal WhatRange As String“ = „A1“) kaip loginis„Dim“ bandymas kaip diapazonasDėl klaidos Tęsti toliauNustatyti testą = ActiveWorkbook.Sheets (WhatSheet). Range (WhatRange)RangeExists = Klaidų skaičius = 0Klaida „GoTo 0“Pabaigos funkcija

Funkcija grąžins TRUE, jei lapas yra, arba FALSE, jei ne.

Naudokite šią funkciją taip:

123 Antrinis Test_SheetExists ()„MsgBox RangeExists“ („sąranka“)Pabaiga Sub

Nukopijuokite lapą ir pervardykite

Šis pavyzdys yra iš mūsų straipsnio apie lapų kopijavimą.

Nukopijavus ir įklijavus lapą, naujai sukurtas lapas tampa „ActiveSheet“. Taigi, norėdami pervardyti nukopijuotą lapą, tiesiog naudokite „ActiveSheet“. Pavadinimas:

12345678 Sub CopySheetRename2 ()Skaičiuoklės („Sheet1“). Kopijuoti po: = Sheets (Sheets.Count)Dėl klaidos Tęsti toliauActiveSheet.Name = "Paskutinis lapas"Klaida „GoTo 0“Pabaiga Sub

Pastaba: pridėjome klaidų tvarkymą, kad išvengtume klaidų, jei lapo pavadinimas jau yra.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave