Tämä opetusohjelma kattaa vuorovaikutuksen Sheet -nimien kanssa VBA: ssa.
Hae taulukon nimi
Arkkien nimet tallennetaan Nimi omaisuus Arkit tai Laskentataulukot esine. Arkin nimi on "välilehden" nimi, joka näkyy Excelin alareunassa:
Hae ActiveSheet -nimi
ActiveSheet -nimi näkyy viestiruudussa:
1 | MsgBox ActiveSheet.Name |
Hae taulukon nimi hakemistonumeron mukaan
Tämä näyttää ensimmäisen laskentataulukon nimen viestiruudussa:
1 | MsgBox Sheets (1) Nimi |
Tämä näyttää työkirjan viimeisen laskentataulukon nimen:
1 | MsgBox Sheets (Sheets.Count) Nimi |
Hae taulukon nimi koodinimen mukaan
VBA -editorissa on mahdollisuus muuttaa taulukon "koodinimeä". Koodin nimi ei näy Excel -käyttäjälle, ja se näkyy vain VBA -editorissa:
Kun käytät VBA: ta Sheetsin kanssa, voit viitata tavalliseen välilehden nimeen:
1 | Sheets ("TabName"). Aktivoi |
tai VBA -koodinimi:
1 | Koodinimi Aktivoi |
Viittaus koodinimeen on toivottavaa, jos Arkki -välilehden nimi muuttuu. Jos annat Excel -käyttäjien käyttää muuttuvia arkin nimiä, sinun tulee viitata koodinimeen VBA -koodissasi, jotta Sheet -välilehden nimen ristiriita ei aiheuta virhettä. Arkkikoodien nimiä käsitellään tarkemmin täällä.
Saat taulukon nimen käyttämällä VBA -koodinimeä seuraavasti:
1 | MsgBox -koodinimi.nimi |
Nimeä arkki uudelleen
Voit nimetä Sheetsin uudelleen säätämällä nimi omaisuus Arkit tai Laskentataulukot esine.
Nimeä ActiveSheet uudelleen
1 | ActiveSheet.Name = "UusiNimi" |
Nimeä taulukko uudelleen nimellä
1 | Sheets ("OldSheet"). Name = "NewName" |
Nimeä arkki uudelleen arkistoindeksinumeroiden mukaan
Tässä käytämme työkirjan ensimmäisen taulukon nimeä 1 uudelleen.
1 | Sheets (1) .Name = "UusiNimi" |
Nimeä taulukko uudelleen koodinimen mukaan
Tämä koodi nimeää taulukon uudelleen käyttämällä sen VBA -koodinimeä (keskustellaan yllä):
1 | Component.Name = "UusiNimi" |
Tarkista, onko arkin nimi olemassa
Loimme toiminnon, jolla testataan, onko tietyn nimen sisältävä taulukko jo olemassa.
123456789101112 | 'Testaa, onko taulukossa alue.'Jätä alue tyhjäksi testataksesi, onko arkki olemassa'Tulot:'WhatSheet - taulukon merkkijonon nimi (ex "Sheet1")'WhatRange (valinnainen, oletus = "A1") - alueen merkkijonon nimi (ex "A1")ToimintoalueExists (WhatSheet as String, Optional ByVal WhatRange As String = "A1") BooleanDim -testi alueenaVirhe Jatka seuraavaksiAseta testi = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Virheen numero = 0Virhe GoTo 0Lopeta toiminto |
Toiminto palauttaa TOSI, jos arkki on olemassa, tai FALSE, jos sitä ei ole.
Käytä toimintoa seuraavasti:
123 | Sub Test_SheetExists ()MsgBox RangeExists ("asennus")End Sub |
Kopioi taulukko ja nimeä uudelleen
Tämä esimerkki on artikkelistamme Arkkien kopioiminen.
Arkin kopioimisen ja liittämisen jälkeen uudesta luodusta taulukosta tulee ActiveSheet. Jos haluat nimetä kopioidun taulukon uudelleen, käytä vain ActiveSheet -nimeä.
12345678 | Sub CopySheetRename2 ()Sheets ("Sheet1"). Kopioi jälkeen: = Sheets (Sheets.Count)Virhe Jatka seuraavaksiActiveSheet.Name = "LastSheet"Virhe GoTo 0End Sub |
Huomautus: Lisäsimme virheiden käsittelyn virheiden välttämiseksi, jos taulukon nimi on jo olemassa.