VBA Bladnaam ophalen / Blad hernoemen

Deze zelfstudie behandelt de interactie met bladnamen in VBA.

Bladnaam ophalen

Bladnamen worden opgeslagen in de Naam eigendom van de Lakens of Werkbladen object. De bladnaam is de "tab"-naam die zichtbaar is onderaan Excel:

ActiveSheet-naam ophalen

Hierdoor wordt de ActiveSheet-naam in een berichtvenster weergegeven:

1 MsgBox ActiveSheet.Name

Bladnaam ophalen op indexnummer

Hierdoor wordt de eerste werkbladnaam in een berichtvenster weergegeven:

1 MsgBox-bladen(1).Naam

Hierdoor wordt de naam van het laatste werkblad in de werkmap weergegeven:

1 MsgBox-bladen (Sheets.Count).Naam

Bladnaam ophalen op codenaam

In de VBA-editor is er een optie om de "codenaam" van een blad te wijzigen. De codenaam is niet zichtbaar voor de Excel-gebruiker en is alleen te zien in de VBA-editor:

Als u in VBA met Spreadsheets werkt, kunt u verwijzen naar de gebruikelijke tabbladnaam:

1 Spreadsheets ("Tabnaam"). Activeren

of de VBA-codenaam:

1 CodeName.Activeren

Verwijzen naar de codenaam is wenselijk voor het geval de naam van het bladtabblad ooit verandert. Als u Excel-gebruikers toegang geeft tot het wijzigen van bladnamen, moet u verwijzen naar de codenaam in uw VBA-code, zodat een niet-overeenkomende naam van een bladtabblad geen fout veroorzaakt. Bladcodenamen worden hier in meer detail besproken.

Ga als volgt te werk om de bladnaam te krijgen met behulp van de VBA-codenaam:

1 MsgBox CodeNaam.Naam

Blad hernoemen

U kunt de naam van Spreadsheets wijzigen door de naam eigendom van de Lakens of Werkbladen object.

Hernoem ActiveSheet

1 ActiveSheet.Name = "NieuweNaam"

Blad hernoemen op naam

1 Spreadsheets ("OldSheet").Naam = "NieuweNaam"

Blad voor blad hernoemen Indexnummer

Hier gebruiken we 1 om het eerste blad in de werkmap te hernoemen.

1 Bladen(1).Name = "NieuweNaam"

Blad hernoemen op codenaam

Deze code hernoemt een blad met de VBA-codenaam (hierboven besproken):

1 Component.Name = "NieuweNaam"

Controleren of bladnaam bestaat

We hebben een functie gemaakt om te testen of er al een blad met een bepaalde naam bestaat.

123456789101112 'Test of er een bereik op een blad bestaat.'Laat bereik leeg om te testen of blad bestaat'Ingangen:' WhatSheet - Stringnaam van blad (ex "Blad1")' WhatRange (optioneel, standaard = "A1") - Stringnaam van bereik (ex "A1")Functiebereik bestaat (WhatSheet As String, optioneel ByVal WhatRange As String = "A1") As BooleanGedimde test als bereikBij fout Hervatten volgendeStel test in = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Bij fout Ga naar 0Functie beëindigen

De functie retourneert WAAR als het blad bestaat, of ONWAAR als dat niet het geval is.

Gebruik de functie als volgt:

123 Sub Test_SheetExists()MsgBox RangeExists("setup")Einde sub

Blad kopiëren en hernoemen

Dit voorbeeld komt uit ons artikel over het kopiëren van bladen.

Na het kopiëren en plakken van een blad, wordt het nieuw gemaakte blad de ActiveSheet. Dus om een ​​gekopieerd blad te hernoemen, gebruik je gewoon ActiveSheet.Name:

12345678 Sub CopySheetRename2()Bladen ("Blad1"). Kopiëren na: = Bladen (Vellen. Aantal)Bij fout Hervatten volgendeActiveSheet.Name = "LastSheet"Bij fout Ga naar 0Einde sub

Opmerking: we hebben foutafhandeling toegevoegd om fouten te voorkomen als de bladnaam al bestaat.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave