See õpetus hõlmab VBA -s lehtede nimedega suhtlemist.
Hangi lehe nimi
Lehtede nimed salvestatakse kausta Nimi vara Lehed või Töölehed objekti. Lehe nimi on Exceli allosas nähtav vahekaardi nimi:
Hankige ActiveSheet'i nimi
See kuvab sõnumiboksis ActiveSheet nime:
1 | MsgBox ActiveSheet.Name |
Hankige lehe nimi indeksi numbri järgi
See kuvab sõnumiboksis esimese töölehe nime:
1 | MsgBox Sheets (1). Nimi |
See kuvab töövihiku viimase töölehe nime:
1 | MsgBox Sheets (Sheets.Count). Nimi |
Hankige lehe nimi koodi nime järgi
VBA redaktoris on võimalus muuta lehe „koodnime”. Koodi nimi pole Exceli kasutajale nähtav ja seda saab näha ainult VBA redaktoris:
VBA -s saate arvutustabelitega töötades viidata tavalisele vahelehele:
1 | Arvutustabelid ("TabName"). Aktiveerige |
või VBA koodi nimi:
1 | Koodinimi. Aktiveeri |
Koodinimele viitamine on soovitav juhuks, kui vahekaardi Leht nimi kunagi muutub. Kui lubate Exceli kasutajatel juurdepääsu lehtede nimede muutmisele, peaksite viitama oma VBA -koodi koodinimele, et lehe vahekaardi nime mittevastavus ei põhjustaks viga. Lehekoodide nimesid käsitletakse siin üksikasjalikumalt.
Lehe nime saamiseks VBA koodi nime abil tehke järgmist.
1 | MsgBox CodeName.Name |
Nimeta leht ümber
Arvutustabeleid saate ümber nimetada, kohandades nimi vara Lehed või Töölehed objekti.
Nimeta ActiveSheet ümber
1 | ActiveSheet.Name = "UusNimi" |
Nimeta leht nime järgi ümber
1 | Arvutustabelid ("OldSheet"). Nimi = "UusNimi" |
Nimeta leht ümber lehe indeksnumbri järgi
Siin kasutame töövihiku esimese lehe ümbernimetamiseks 1.
1 | Arvutustabelid (1) .Name = "UusNimi" |
Nimeta leht ümber koodnime järgi
See kood nimetab lehe ümber, kasutades selle VBA koodi nime (arutatud eespool):
1 | Component.Name = "UusNimi" |
Kontrollige, kas lehe nimi on olemas
Lõime funktsiooni, et kontrollida, kas konkreetse nimega leht on juba olemas.
123456789101112 | „Kontrollige, kas lehel on vahemik.„Lehe olemasolu kontrollimiseks jätke vahemik tühjaks'Sisendid:'WhatSheet - lehe stringi nimi (endine "Sheet1")'WhatRange (valikuline, vaikimisi = "A1") - vahemiku stringinimi (endine "A1")Funktsioonivahemik Olemas (WhatSheet kui string, valikuline ByVal WhatRange As String = "A1") BooleaninaHämarduskatse vahemikunaVea korral Jätka järgmistMäära test = ActiveWorkbook.Sheets (WhatSheet). Vahemik (WhatRange)RangeExists = Err.Number = 0Viga GoTo 0Lõppfunktsioon |
Funktsioon tagastab tõe, kui leht on olemas, või vale, kui seda pole.
Kasutage seda funktsiooni järgmiselt:
123 | Sub Test_SheetExists ()MsgBox RangeExists ("seadistamine")End Sub |
Kopeeri leht ja nimeta ümber
See näide pärineb meie artiklist lehtede kopeerimise kohta.
Pärast lehe kopeerimist ja kleepimist saab äsja loodud lehest ActiveSheet. Nii et kopeeritud lehe ümbernimetamiseks kasutage lihtsalt ActiveSheet. Nimi:
12345678 | Sub CopySheetRename2 ()Arvutustabelid ("Sheet1"). Kopeeri pärast: = Sheets (Sheets.Count)Vea korral Jätka järgmistActiveSheet.Name = "Viimane leht"Viga GoTo 0End Sub |
Märkus. Lisasime veakäsitluse, et vältida vigu, kui lehe nimi on juba olemas.