VBA parinktis aiški | Kaip padaryti, kad kintama deklaracija būtų privaloma?
„Excel VBA“ parinktis aiški
Kintamųjų deklaravimas yra labai svarbus VBA, „ Option Explicit“ įpareigoja vartotoją deklaruoti visus kintamuosius prieš juos naudojant, bet koks neapibrėžtas kintamasis sukels klaidą vykdant kodą, mes galime parašyti aiškų raktinį žodį arba galime jį įjungti visi kodai iš parinkčių, reikalaujant reikalauti kintamojo deklaravimo.
VBA viskas susiję su kintamaisiais. Norint išsaugoti duomenis, mums reikia kintamųjų su tinkamu duomenų tipu. Galite man paklausti, kodėl jums reikalingas kintamasis, kai galite tiesiogiai pridėti vertę į pačią skaičiuoklę. Tai daugiausia dėl kelių darbaknygės naudotojų, jei ją tvarko vienas asmuo, galite tiesiogiai nurodyti vertę į patį lapą. Deklaruodami kintamuosius, galime sukurti lanksčią kodą duomenims saugoti.
Kas yra aiški VBA parinktis?
Tikiuosi, kad jūs susidūrėte su mėlynos spalvos žodžiu „Aiškus variantas“ modulio viršuje, prieš pradedant bet kokią makrokomandą tame modulyje.
Pradėdamas mokytis VBA, aš taip pat nesupratau, kas tai yra, ir, tiesą sakant, apie tai net negalvojau. Ne tik man ar jums, bet ir visiems starto pradžioje tas pats. Bet mes pamatysime šio žodžio svarbą dabar.
„Aiškus variantas“ yra mūsų patarėjas skelbiant kintamąjį. Pridėjus šį žodį, kintamoji deklaracija tampa privalomu procesu.
Šį „VBA Option Explicit Excel“ šabloną galite atsisiųsti čia - VBA Option Explicit „Excel“ šablonąNorėdami suprasti, pavyzdžiu žiūrėkite žemiau esantį kodą.
Kodas:
1 antrinis pavyzdys () i = 25 „MsgBox i“ pabaigos pabaiga
Jei paleisiu šį kodą, VBA pranešimų laukelyje gausime kintamojo „I“ vertę.
Dabar aš pridėsiu žodį „Option Explicit“ pačioje VBA kodo pradžioje.
Dabar paleisiu kodą ir pažiūrėsiu, kas bus. Jei praktikuojate su manimi, paspauskite klavišą F5, kad paleistumėte kodą.
Gavome kompiliavimo klaidą ir joje sakoma „Kintamasis neapibrėžtas“ . Mes nedeklaravome kintamojo „i“, bet iškart priskyrėme jam vertę kaip 25.
Kadangi mes pridėjome žodį „Option Explicit“, tai priverčia mus deklaruoti kintamąjį privalomai.
Pirmiau pateiktame kode abėcėlė „i“ yra nedeklaruojama, todėl pridėjome kintamojo valdiklio žodį „Option Explicit“, kuris neleidžia mums naudoti nedeklaruotų kintamųjų.
Tuo metu, kai modulio viršuje pridedate žodį „Neapibrėžta parinktis“, visoms to modulio makrokomandoms privaloma deklaruoti kintamuosius.
Kaip padaryti, kad kintama deklaracija būtų privaloma?
Jei įterpdami naują modulį rankiniu būdu į modulį įtraukėte kintamojo „mentoriaus“ aiškų variantą, pagal numatytuosius nustatymus šio kintamojo mentoriaus negausite.
Jei manote, kad kiekvieną kartą jums reikia rankiniu būdu pridėti žodį „Option Explicit“ visiems naujiems moduliams, klystate.
Nes mes galime padaryti šį žodį privalomą visuose moduliuose atlikdami paprastą nustatymą. Norėdami sureguliuoti nustatymus, atlikite toliau nurodytus veiksmus.
1 žingsnis: Eikite į „Visual basic“ redaktorių.
2 žingsnis: Eikite į ĮRANKIAI ir spustelėkite Parinktys.
3 žingsnis: Kai spustelėsite Parinktys, pamatysite žemiau esantį langą.
4 žingsnis: Šiame lange eikite į redaktorių ir pažymėkite parinktį „Reikalauti kintamojo deklaracijos“ .
5 žingsnis: Norėdami uždaryti langą, spustelėkite Gerai.
Nuo šiol, kai tik pridedate naują modulį, jis pagal numatytuosius nustatymus automatiškai įterpia žodį „Aiškus variantas“.
„Explicit“ parinktis yra jūsų taupyklė
„Explicit“ parinktis mums padeda įvairiais būdais, nuo kintamojo deklaravimo padarymo privaloma, ji padės iki vykdymo. Pažvelkite į žemiau esantį kodą.
Kodas:
2 antrasis pavyzdys () „Dim CurrentValue“ kaip sveikasis skaičius „CurentValue“ = 500 „MsgBox CurrentValue“ pabaigos sub
Ankstesniame kode kintamąjį „CurrentValue“ paskelbiau sveikuoju skaičiumi. Kitoje eilutėje jai priskyriau 500 vertę. Jei paleisiu šį kodą, turėčiau gauti 500 kaip pranešimą laukelyje. Bet pažiūrėk, kas nutiks.
Joje sakoma „Kintamasis neapibrėžtas“ ir paryškinta antroji eilutė.
Jei atidžiai pažvelgsime į antrą eilutę, yra nedidelė rašybos klaida. Mano kintamojo vardas yra „CurrentValue“, tačiau antroje eilutėje praleidau vieną rašybą, ty „r“. Vietoj „CurrentValue“ parašyta „CurrentValue“. Kadangi kintamojo deklaraciją padariau privalomą pridėdamas žodį „Option Explicit“ „Excel VBA“, tai pabrėžė mano padarytą rašybos klaidą.
Taigi, kai pataisysime rašybą ir paleisime kodą, rezultatą gausime taip.
Pasisveikink su naujai paskirtu kintamuoju mentoriumi !!!