VBA Pridobite ime lista / preimenujte list

Ta vadnica bo zajemala interakcijo z imeni listov v VBA.

Pridobite ime lista

Imena listov so shranjena v Ime lastnina Listi ali Delovni listi predmet. Ime lista je ime »zavihka«, ki je vidno na dnu Excela:

Pridobite ime ActiveSheet

To bo prikazalo ime ActiveSheet v polju za sporočila:

1 MsgBox ActiveSheet.Name

Pridobite ime lista po številki indeksa

To bo prikazalo ime prvega delovnega lista v polju za sporočila:

1 Listi MsgBox (1). Ime

To bo prikazalo ime zadnjega delovnega lista v delovnem zvezku:

1 MsgBox Sheets (Sheets.Count) .Ime

Pridobite ime lista po imenu kode

V urejevalniku VBA obstaja možnost, da spremenite »kodno ime« lista. Kodirano ime ni vidno uporabniku Excela in ga je mogoče videti samo v urejevalniku VBA:

V VBA se pri delu s preglednicami lahko sklicujete na običajno ime zavihka:

1 Listi ("TabName"). Aktivirajte

ali kodno ime VBA:

1 CodeName.Aktiviraj

Sklicevanje na kodno ime je zaželeno, če se ime zavihka List kdaj spremeni. Če uporabniku Excela dovolite dostop do spreminjanja imen listov, se skličite na kodno ime v kodi VBA, da neujemanje imena zavihka List ne povzroči napake. Kodirana imena listov so podrobneje obravnavana tukaj.

Če želite dobiti ime lista z imenom kode VBA, naredite naslednje:

1 MsgBox CodeName.Name

Preimenuj list

Liste lahko preimenujete tako, da prilagodite ime lastnina Listi ali Delovni listi predmet.

Preimenujte ActiveSheet

1 ActiveSheet.Name = "Novo ime"

Preimenujte list po imenu

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

Preimenujte list po indeksni številki lista

Tukaj uporabljamo 1 za preimenovanje prvega lista v delovnem zvezku.

1 Listi (1) .Name = "Novoime"

Preimenujte list po imenu kode

Ta koda bo preimenovala list z njegovim kodnim imenom VBA (obravnavano zgoraj):

1 Component.Name = "Novo ime"

Preverite, ali ime lista obstaja

Ustvarili smo funkcijo za preverjanje, če List z določenim imenom že obstaja.

123456789101112 "Preizkusite, če obseg obstaja na listu.'Pustite območje prazno, da preizkusite, ali list obstaja'Vhodi:'WhatSheet - Ime niza lista (ex "Sheet1")'WhatRange (izbirno, privzeto = "A1") - Ime niza obsega (npr. "A1")Funkcija RangeExists (WhatSheet As String, Izbirno ByVal WhatRange As String = "A1") Kot BooleanZatemni preskus kot obsegOn Napaka Nadaljuj NaprejNastavi test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Pri napaki Pojdi na 0Končana funkcija

Če obstaja list, bo funkcija vrnila TRUE, če pa ne, FALSE.

Funkcijo uporabite tako:

123 Sub Test_SheetExists ()MsgBox RangeExists ("nastavitev")End Sub

Kopirajte list in preimenujte

Ta primer je iz našega članka o kopiranju listov.

Po kopiranju in lepljenju lista novonastali list postane ActiveSheet. Če želite preimenovati kopiran list, preprosto uporabite ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()List ("List1"). Kopiraj po: = List (Sheets.Count)On Napaka Nadaljuj NaprejActiveSheet.Name = "Zadnji list"Pri napaki Pojdi na 0End Sub

Opomba: Dodali smo obravnavo napak, da bi se izognili napakam, če ime lista že obstaja.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave