VBA Get Sheet Name / Rename Sheet

Denne vejledning dækker interaktion med arknavne i VBA.

Få arknavn

Arknavne gemmes i Navn ejendom af Ark eller Arbejdsark objekt. Arknavnet er "fanebladet", der er synligt nederst i Excel:

Hent ActiveSheet -navn

Dette viser ActiveSheet -navnet i en meddelelsesboks:

1 MsgBox ActiveSheet.Name

Få arknavn efter indeksnummer

Dette viser det første regnearks navn i en meddelelsesboks:

1 MsgBox Sheets (1). Navn

Dette viser navnet på det sidste regneark i projektmappen:

1 MsgBox Sheets (Sheets.Count). Navn

Få arknavn efter kodenavn

I VBA Editor er der en mulighed for at ændre "kodenavn" på et ark. Kodenavnet er ikke synligt for Excel -brugeren og kan kun ses i VBA Editor:

I VBA kan du, når du arbejder med Sheets, referere til det sædvanlige fanenavn:

1 Ark ("Tabulatornavn"). Aktiver

eller VBA -kodenavnet:

1 Kodenavn.Aktiver

Det er ønskeligt at henvise til kodenavnet, hvis fanebladets ark nogensinde ændres. Hvis du tillader dig Excel -brugeradgang til ændring af arknavne, skal du referere til kodenavnet i din VBA -kode, så et arkfane -navn ikke matcher en fejl. Arkkodenavne diskuteres mere detaljeret her.

Gør følgende for at få arknavnet ved hjælp af VBA -kodenavnet:

1 MsgBox CodeName.Name

Omdøb ark

Du kan omdøbe Sheets ved at justere navn ejendom af Ark eller Arbejdsark objekt.

Omdøb ActiveSheet

1 ActiveSheet.Name = "Nyt navn"

Omdøb ark med navn

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

Omdøb ark efter arkindeksnummer

Her bruger vi 1 til at omdøbe det første ark i projektmappen.

1 Ark (1) .Name = "Nyt navn"

Omdøb ark med kodenavn

Denne kode omdøber et ark ved hjælp af dets VBA -kodenavn (diskuteret ovenfor):

1 Component.Name = "Nyt navn"

Kontroller, om arknavn findes

Vi oprettede en funktion for at teste, om der allerede findes et ark med et bestemt navn.

123456789101112 'Test om der findes et område på et ark.'Lad området være tomt for at teste, om der findes et ark'Indgange:'WhatSheet - Arkets strengnavn (f.eks. "Ark1")'WhatRange (Valgfrit, Standard = "A1") - Stringnavn for område (f.eks. "A1")Function RangeExists (WhatSheet As String, Valgfri ByVal WhatRange As String = "A1") Som boolskDim test As RangeVed fejl Genoptag næsteIndstil test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Ved fejl GoTo 0Afslut funktion

Funktionen returnerer SAND, hvis arket eksisterer, eller FALSKT, hvis det ikke gør det.

Brug funktionen sådan:

123 Sub Test_SheetExists ()MsgBox RangeExists ("opsætning")Afslut Sub

Kopier ark og omdøb

Dette eksempel er fra vores artikel om kopiering af ark.

Efter kopiering og indsættelse af et ark bliver det nyoprettede ark til ActiveSheet. Så for at omdøbe et kopieret ark, skal du blot bruge ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()Ark ("Sheet1"). Kopiér efter: = Sheets (Sheets.Count)Ved fejl Genoptag næsteActiveSheet.Name = "LastSheet"Ved fejl GoTo 0Afslut Sub

Bemærk: Vi tilføjede fejlhåndtering for at undgå fejl, hvis arknavnet allerede findes.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave