VBA Get Sheet Name / Rename Sheet

Denne opplæringen vil dekke interaksjon med arknavn i VBA.

Få arknavn

Arknavn er lagret i Navn eiendommen til Ark eller Arbeidsark gjenstand. Arknavnet er "fanen" -navnet som er synlig nederst i Excel:

Få ActiveSheet -navn

Dette vil vise ActiveSheet -navnet i en meldingsboks:

1 MsgBox ActiveSheet.Name

Få arknavn etter indeksnummer

Dette vil vise det første regnearknavnet i en meldingsboks:

1 MsgBox Sheets (1) .Name

Dette vil vise navnet på det siste regnearket i arbeidsboken:

1 MsgBox Sheets (Sheets.Count) .navn

Få arknavn etter kodenavn

I VBA Editor er det et alternativ for å endre "kodenavnet" på et ark. Kodenavnet er ikke synlig for Excel -brukeren og kan bare sees i VBA Editor:

Når du arbeider med Sheets i VBA, kan du referere til det vanlige fanenavnet:

1 Ark ("TabNavn"). Aktiver

eller VBA -kodenavnet:

1 Kodenavn. Aktiver

Det er ønskelig å referere til kodenavnet i tilfelle arkfanenavnet noen gang endres. Hvis du gir Excel -brukeren tilgang til å endre arknavn, bør du referere til kodenavnet i VBA -koden, slik at et arkfane -navn ikke samsvarer med feil. Arknummernavn diskuteres mer detaljert her.

Gjør følgende for å få arknavnet ved å bruke VBA -kodenavnet:

1 MsgBox -kodenavn. Navn

Gi nytt navn til ark

Du kan gi nytt navn til Regneark ved å justere Navn eiendommen til Ark eller Arbeidsark gjenstand.

Gi nytt navn til ActiveSheet

1 ActiveSheet.Name = "Nytt navn"

Gi nytt navn til arket

1 Ark ("OldSheet"). Navn = "Nytt navn"

Endre navn på ark etter arkindeksnummer

Her bruker vi 1 til å gi nytt navn til det første arket i arbeidsboken.

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

Gi nytt navn til arket etter kodenavn

Denne koden vil gi nytt navn til et ark ved å bruke VBA -kodenavnet (diskutert ovenfor):

1 Component.Name = "Nytt navn"

Sjekk om arknavn finnes

Vi opprettet en funksjon for å teste om et ark med et bestemt navn allerede eksisterer.

123456789101112 'Test om det finnes et område på et ark.'La området stå tomt for å teste om det finnes ark'Innganger:'WhatSheet - String Name of Sheet (ex "Sheet1")'WhatRange (valgfritt, standard = "A1") - Stringnavn i område (eks "A1")Function RangeExists (WhatSheet As String, Valgfritt ByVal WhatRange As String = "A1") Som boolskDim test As RangeVed feil Fortsett nesteSett test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Ved feil GoTo 0Sluttfunksjon

Funksjonen vil returnere TRUE hvis arket eksisterer, eller FALSE hvis det ikke gjør det.

Bruk funksjonen slik:

123 Sub Test_SheetExists ()MsgBox RangeExists ("oppsett")Slutt Sub

Kopier ark og gi nytt navn

Dette eksemplet er fra vår artikkel om kopiering av ark.

Etter at du har kopiert og limt inn et ark, blir det nyopprettede arket ActiveSheet. Så for å gi nytt navn til et kopiert ark, bare bruk ActiveSheet.Name:

12345678 Sub CopySheetRename2 ()Ark ("Sheet1"). Kopier etter: = Sheets (Sheets.Count)Ved feil Fortsett nesteActiveSheet.Name = "LastSheet"Ved feil GoTo 0Slutt Sub

Merk: Vi la til feilhåndtering for å unngå feil hvis arkenavnet allerede eksisterer.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave