„Excel VBA“ darbalapiai
„Excel“ yra darbaknygė ir toje darbaknygėje yra darbalapių ar lapų. Labai svarbu suprasti VBA darbalapių sąvoką, nes visą laiką dirbame su darbalapiais. Įprastame „Excel“ faile mes jį vadiname lapais, tačiau VBA terminologijoje jis vadinamas „darbalapiu“. Visi darbalapio rinkiniai vadinami „Darbalapiais“.
VBA darbalapis yra objektas. Yra du būdai, kaip nurodyti darbalapį, naudojant vieną objektą „Worksheet“, o kitą naudojant objektą „Sheets“.
Žinau, kad jūsų klausimas yra koks skirtumas tarp jų. „Excel“ programoje galime pamatyti dviejų rūšių lapus, vienas yra įprasti darbalapiai, o kitas - diagramų lapai.
„Excel“ darbalapio skirtuke atsižvelgiama tik į darbaknygės darbalapius, išskyrus diagramų lapus. „Lapai“ atsižvelgia į visus darbaknygės darbalapius, įskaitant diagramos lapą. Pavyzdžiui, pažiūrėkite į žemiau esantį vaizdą.

Iš viso to turime 5 lapus. Iš šių 5 lapų 3 yra darbalapiai, o 2 - diagramų lapai.
Čia „darbalapių“ skaičius yra 3, o „lapų“ skaičius yra 2.
Dabar pažiūrėkite į žemiau esantį vaizdą.

Čia visi lapai yra darbalapiai, taigi „Darbalapio“ ir „Lapų“ skaičius yra 3.
Taigi, kaip kodo dalį, jei norite naudoti darbalapius, objektai prisimena šį tašką.
VBA darbalapių sintaksė
Kaip sakiau, darbalapis yra objekto kintamasis. Tačiau tai taip pat turi sintaksę.

Indeksas nėra nieko, kas yra darbalapio numeris, į kurį mes kreipiamės. Kaip matote galų gale, jis vadinamas objektu.
Pvz., Darbalapis (1). Pasirinkti reiškia pasirinkti pirmąjį darbaknygės darbalapį. Nesvarbu, koks yra darbalapio pavadinimas; bus pasirinktas koks darbalapis įterptas pirmiausia į darbaknygę.
Mes taip pat galime nurodyti darbalapį pagal jo pavadinimą. Turime paminėti visą, nes tai yra darbalapio pavadinimas kabutėse.
Pvz., Darbalapis („Pardavimo lapas“). Pasirinkimas reiškia, kad pasirinkite lapą, pavadintą „Pardavimo lapas“. Čia nesvarbu, koks yra darbalapio numeris, jis visada pasirenka nurodytą darbalapį.
Kaip naudoti darbalapių objektą VBA?
1 pavyzdys
Pavyzdžiui, tarkime, kad jūsų darbaknygėje iš viso yra 5 lapai, o tų darbalapių pavadinimas yra „1 darbalapis“, „2 darbalapis“, „3 darbalapis“, „1 diagramos lapas“ ir „2 diagramos lapas“.

Jei naudoju numeraciją, kad pasirinkčiau darbalapį, tada numerį galiu naudoti kaip darbalapio nuorodą.
Užduotis (2). Pasirinkti reiškia, kad jis pasirinks antrąjį darbaknygės darbalapį.
Kodas:
Antrinis darbalapis_pavyzdys1 () darbalapiai (2). Pasirinkite Pabaigos sub

Aš paleisiu šį kodą naudodamas F5 klavišą arba rankiniu būdu ir pamatysiu rezultatą.

Dabar pakeisiu lapo numerį į 3.
Kodas:
Antrinis darbalapis_pavyzdys1 () darbalapiai (3). Pasirinkite Pabaigos antrinis

Dabar sužinokite, kas atsitinka, kai paleidžiate kodą rankiniu būdu arba naudodamiesi F5 rakto kodu.

Jei pažiūrėtumėte į aukščiau esantį vaizdą, jis pasirinko 4 -ąjį darbalapį, kai paprašiau pasirinkti 3 - ąjį darbalapį.
Taip yra todėl, kad naudojau ne „Sheets“, o „Worksheet“ objektą. Kaip sakiau anksčiau, objekte „Darbalapiai“ atsižvelgiama tik į darbalapius, o ne į diagramų lapus.
Norėdami pasirinkti trečią visų darbaknygės lapų lapą, naudokite objektą Sheets.
Kodas:
Antrinis darbalapis_pavyzdys1 ()
Lapai (3). Pasirinkite
Pabaigos sub

Dabar jis pasirinks tikslų trečią lapą.

2 pavyzdys - pasirinkite darbalapius pagal pavadinimą
Lapų pasirinkimas pagal jų pavadinimą yra tikslus būdas nurodyti lapą. Pavyzdžiui, jei norime pasirinkti lapą „3 darbalapis“, galite naudoti žemiau pateiktą kodą.
Kodas:
Antrinis darbalapis_pavyzdys2 () darbalapiai („3 darbalapis“). Pasirinkite Pabaigti antrinį

Tai pasirinks tikslų lapą; nesvarbu, kur jis įdėtas į darbaknygę.

Bet jei bandėte patekti į diagramos lapą naudodami objektą „Worksheet“, gausime klaidą „Subscript out of range“.
Kodas:
Antrinis darbalapis_pavyzdys2 () darbalapiai („1 diagramos lapas“). Pasirinkite Pabaigti antrinį

Paleiskite šį kodą naudodami klavišą F5 arba rankiniu būdu ir pamatykite rezultatą.

3 pavyzdys - su darbalapio pavadinimu susijusi problema
Yra dar viena problema, susijusi su lapų pavadinimu. Jei kas nors pakeis darbalapio pavadinimą, vėl gausime klaidą „Subscript out of range“.
Norėdami išspręsti šią problemą, eikite į „Visual Basic“ redaktorių paspausdami klavišą ALT + F11 .

Dabar pasirinkite lapo pavadinimą ir paspauskite klavišą F4, kad pamatytumėte ypatybių langą.

Šiose ypatybėse langas pakeičia darbalapio pavadinimą į jūsų vardą.

Vienas įdomus dalykas yra tai, kad nors pakeitėme darbalapio pavadinimą iš „Worksheet 1“ į „WS1“, vis tiek tą patį pavadinimą galime pamatyti darbaknygėje.

Dabar šį lapą galime vadinti pavadinimu „WS1“.
Kodas:
Antrinis darbalapis_pavyzdys2 () darbalapiai („WS1“). Pasirinkite Pabaigti antrinį

Dabar nesvarbu, kas pakeis darbalapio pavadinimą. Vis dėlto mūsų kodas nurodo tą patį lapą, jei jis nekeičia „Visual Basic“ redaktoriaus.
4 pavyzdys - gaukite viso lapų skaičių darbaknygėje
Darbalapis yra objektas, ir mes galime naudoti visas su juo susijusias savybes ir metodus. Ką darome su darbalapiais?
Įterpiame darbalapius. Pervardijame darbalapius. Ištriname darbalapius ir daugelį kitų dalykų, kuriuos darome su jais.
Įveskite objektą „Darbalapiai“ ir įdėkite tašką, kad pamatytumėte visas su jais parinktis.

Norėdami gauti darbalapių skaičių, naudokite „VBA Count Property“.
Kodas:
Antrasis darbalapis_pavyzdys3 () „Dim i As Long i“ = darbalapiai. Skaičiuokite „MsgBox“ i „End Sub“

Tai parodys darbalapių skaičių.


Nors yra 5 lapai, mes skaičiavome kaip 3, nes kiti 2 lapai yra diagramų lapai.
Norėdami gauti bendrą lapų skaičių, naudokite objektą „Lakštai“.
Kodas:
Antrasis darbalapis_pavyzdys3 () „Dim i As Long“ i = lakštai. Skaičiuokite „MsgBox“ i End Sub

Tai parodys visą lapų skaičių.


5 pavyzdys - Darbalapio objekto naudojimo metodai
Įvedę darbalapio objektą, galime pasiekti visas su juo susijusias savybes ir objektus. Galime pridėti naują lapą. Mes galime ištrinti ir kt.
Norėdami pridėti naują lapą.
Užduotis. Pridėti
Norėdami ištrinti darbalapį
Darbalapis („Lapo pavadinimas“). Ištrinti
Norėdami pakeisti darbalapio pavadinimą
Darbalapis („Lapo pavadinimas“). Pavadinimas = „Naujas vardas“