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 vartotojų. Jei ją tvarko vienas asmuo, vertę galite tiesiogiai susieti su pačiu lapu. Deklaruodami kintamuosius, galime sukurti lanksčią kodą duomenims saugoti.

Kas yra aiški VBA parinktis?

Tikiuosi, kad prieš modulio makrokomandos paleidimą, modulio viršuje, susidūrėte su mėlynu žodžiu „Neapibrėžta parinktis“.

Pradėdamas mokytis VBA, aš taip pat nesupratau, kas tai yra, ir, tiesą sakant, apie tai net negalvojau. Ne tik jums ar man, bet ir visiems starto pradžioje. 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.

Pavyzdžiui, supraskite žemiau pateiktą 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ą, kurioje sakoma: „Kintamasis neapibrėžtas“. Mes nedeklaravome kintamojo „i“, bet iškart priskyrėme jam vertę kaip 25.

Kadangi pridėjome žodį „Aiškus variantas“, jis priverčia mus deklaruoti kintamąjį privalomai.

Pirmiau pateiktame kode abėcėlė „i“ yra nedeklaruojama, todėl mes 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“, visiems šio konkretaus modulio makrokomandoms privaloma deklaruoti kintamuosius.

Kaip padaryti, kad kintama deklaracija būtų privaloma?

Jei įterpdami naują modulį rankiniu būdu prie savo modulio pridėjote kintamąjį mentorių „Option Explicit“, šio kintamojo mentoriaus pagal numatytuosius nustatymus negausite.

Jei manote, kad kiekvieną kartą jums reikia rankiniu būdu pridėti žodį „Option Explicit“ visiems naujiems moduliams, tada klystate.

Kadangi mes galime padaryti šį žodį privalomą visuose moduliuose atlikdami paprastą nustatymą, atlikite toliau nurodytus veiksmus, kad sureguliuotumėte nustatymus.

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 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. Kai kintamojo deklaracija bus privaloma, ji mums padės iki įvykdymo. Pažvelkite į žemiau esantį kodą.

Kodas:

2 potinklio pavyzdys () „Dim CurrentValue“ kaip „Integer 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ų laukelį. 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.

Pasisveikinkite su naujai paskirtu kintamuoju mentoriumi !!!

Įdomios straipsniai...