VBA Dobijte naziv lista / preimenujte list

Ovaj vodič će pokriti interakciju s imenima listova u VBA -i.

Dobijte naziv lista

Nazivi listova pohranjeni su u Ime vlasništvo Listovi ili Radni listovi objekt. Naziv lista je naziv "kartice" koji je vidljiv pri dnu programa Excel:

Dobijte naziv aktivnog lista

Ovo će prikazati ime aktivnog lista u okviru za poruku:

1 MsgBox ActiveSheet.Name

Dobijte naziv lista prema indeksnom broju

Ovo će prikazati ime prvog radnog lista u okviru za poruku:

1 MsgBox listovi (1). Naziv

Ovo će prikazati naziv posljednjeg radnog lista u radnoj knjizi:

1 MsgBox listovi (Sheets.Count) .Naziv

Dobijte naziv lista prema nazivu koda

U VBA Editoru postoji mogućnost promjene "kodnog imena" lista. Naziv koda nije vidljiv korisniku programa Excel i može se vidjeti samo u VBA Editoru:

U VBA -i pri radu s tablicama možete se pozvati na uobičajeni naziv kartice:

1 Tablice ("TabName"). Aktivirajte

ili VBA kodni naziv:

1 CodeName.Aktiviraj

Pozivanje na kodni naziv poželjno je u slučaju da se naziv kartice Sheet ikada promijeni. Ako dopustite korisniku programa Excel pristup promjeni naziva listova, trebate se pozivati ​​na kodni naziv u svom VBA kodu kako nepodudaranje naziva kartice Sheet ne bi uzrokovalo pogrešku. Kodni nazivi listova ovdje se detaljnije razmatraju.

Da biste dobili naziv lista pomoću naziva VBA koda, učinite sljedeće:

1 MsgBox Kodni naziv.Naziv

Promijeni naziv lista

Listove možete preimenovati podešavanjem Ime vlasništvo Listovi ili Radni listovi objekt.

Preimenujte ActiveSheet

1 ActiveSheet.Name = "Novo ime"

Preimenujte list prema imenu

1 Tablice ("OldSheet"). Name = "NewName"

Preimenujte list prema indeksnom broju listova

Ovdje koristimo 1 za preimenovanje prvog lista u radnoj knjizi.

1 Listovi (1) .Name = "Novo ime"

Preimenujte list prema šifriranom nazivu

Ovaj kôd će preimenovati list koristeći njegov VBA kodni naziv (raspravljano gore):

1 Component.Name = "Novo ime"

Provjerite postoji li naziv lista

Napravili smo funkciju za testiranje postoji li list s određenim imenom.

123456789101112 'Testirajte postoji li raspon na listu.'Ostavite raspon praznim kako biste provjerili postoji li list'Ulazi:'WhatSheet - Naziv niza lista (ex "Sheet1")'WhatRange (izborno, zadano = "A1") - naziv niza raspona (npr. "A1")Raspon funkcijaExists (WhatSheet As String, Opcijski ByVal WhatRange As String = "A1") Kao BooleanDim test kao rasponUključeno Slijedi nastavak greškePostavi test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RasponPostoji = Broj greške = 0Uključeno Greška Idi na 0Završna funkcija

Funkcija će vratiti TRUE ako List postoji, ili FALSE ako ne postoji.

Koristite funkciju ovako:

123 Pod Test_SheetExists ()MsgBox RangeExists ("postavljanje")Kraj podm

Kopirajte list i preimenujte

Ovaj primjer je iz našeg članka o kopiranju listova.

Nakon kopiranja i lijepljenja lista, novonastali list postaje ActiveSheet. Dakle, da biste preimenovali kopirani list, jednostavno upotrijebite ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()Listovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj)Uključeno Slijedi nastavak greškeActiveSheet.Name = "Zadnji list"Uključeno Greška Idi na 0Kraj podm

Napomena: Dodali smo rukovanje pogreškama kako bismo izbjegli pogreške ako naziv lista već postoji.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave