VBA võimalus on selge | Kuidas muuta muutuv deklaratsioon kohustuslikuks?

Exceli VBA võimalus on selge

Muutujate deklareerimine on VBA-s väga oluline, Option Explicit muudab kasutaja kohustuslikuks deklareerida kõik muutujad enne nende kasutamist, mis tahes määratlemata muutuja viskab koodi täitmisel vea, võime kirjutada märksõnavõimaluse selgesõnaliseks või lubame selle kõik koodid valikutest, võimaldades nõuda muutujadeklaratsiooni.

VBA-s on kõik seotud muutujatega. Andmete salvestamiseks vajame sobiva andmetüübiga muutujaid. Võite küsida, miks vajate muutujat, kui saate väärtuse otse tabelisse lisada. See on peamiselt tingitud töövihiku mitmest kasutajast. Kui sellega tegeleb üks inimene, saate väärtuse otse lehele ise viidata. Muutujate deklareerimisega saame andmete salvestamiseks teha paindliku koodi.

Mis on VBA-võimaluse selgesõnaline?

Loodan, et olete enne mooduli käivitamist kohanud oma mooduli ülaosas sinise joonega sõna „Option Explicit”.

VBA õppimise alguses ei saanud ka mina aru, mis see on ja kui aus olla, siis ma isegi ei mõelnud sellele üldse. Mitte ainult minu või teie jaoks, vaid ka kõigi stardis olevate inimeste jaoks. Kuid selle sõna olulisust näeme nüüd.

"Variant selgesõnaline" on meie juhendaja muutuja deklareerimisel. Selle sõna lisamisega muudab muutuja deklaratsioon kohustuslikuks protsessiks.

Selle VBA Option Explicit Exceli malli saate alla laadida siit - VBA Option Explicit Exceli mall

Näite saamiseks vaadake allolevat koodi mõistmiseks.

Kood:

 Alamnäide1 () i = 25 MsgBox i Lõpp alam 

Selle koodi käivitamisel saame muutuja “I” väärtuse VBA teatekasti.

Nüüd lisan VBA-koodi alguses sõna "Option Explicit".

Nüüd käivitan koodi ja vaatan, mis juhtub. Kui te minuga harjutate, vajutage koodi käivitamiseks klahvi F5.

Saime kompileerimisvea ja seal on kirjas „Muutuja pole määratletud“ . Me ei ole muutujat “i” deklareerinud, kuid määrasime selle väärtuseks kohe 25.

Kuna oleme lisanud sõna „Option Explicit”, sunnib see muutujat kohustuslikult deklareerima.

Ülaltoodud koodis on tähestik „i” deklareerimata, seega oleme lisanud muutuja kontrolleri sõna „Option Explicit“, mis takistab meil deklareerimata muutujate kasutamist.

Hetkel, kui lisate mooduli ülaossa sõna „Option Explicit”, on kõigil selle mooduli makrodel kohustus muutujad kohustuslikult deklareerida.

Kuidas muuta muutuv deklaratsioon kohustuslikuks?

Kui olete uue mooduli sisestamisel muutuja mentori „Option Explicit” käsitsi lisanud, ei saa vaikimisi seda muutuja mentorit.

Kui arvate iga kord, kui peate kõigi uute moodulite jaoks käsitsi lisama sõna „Option Explicit”, siis eksite.

Kuna saame selle sõna kohustuslikuks muuta kõigis moodulites, tehes lihtsa sätte. Seadete kohandamiseks toimige järgmiselt.

1. samm: minge Visual basic editori.

2. samm: minge tööriistadesse ja klõpsake valikutel.

3. samm: hetkel, kui klõpsate suvandil Valikud, näete allolevat akent.

4. samm: minge selle akna alla redaktorisse ja märkige valik "Nõua muutuja deklaratsiooni" .

5. samm: akna sulgemiseks klõpsake nuppu OK.

Nüüdsest alates lisate uue mooduli lisades vaikimisi sõna "Option Explicit".

Võimalik selgesõnaline on teie säästja

Variant Explicit aitab meid mitmel viisil, alates muutuja deklaratsiooni kohustuslikuks muutmisest aitab see kuni täitmiseni. Vaadake allolevat koodi.

Kood:

 Alamnäide2 () Dim CurrentValue Integer CurentValue = 500 MsgBox CurrentValue End Sub 

Ülalolevas koodis olen deklareerinud muutuja “CurrentValue” täisarvuna. Järgmisel real olen määranud sellele väärtuse 500. Kui käivitan selle koodi, peaksin kirjakasti tulemuseks saama 500. Aga vaata, mis juhtub.

Seal on kirjas „Muutuja pole määratletud“ ja tõsteti esile teine ​​rida.

Teist rida tähelepanelikult vaadates on väike kirjaviga. Minu muutuja nimi on “CurrentValue”, kuid teises reas olen ühe kirjapildi, st “r”, vahele jätnud. Seal on „CurrentValue” asemel „CurrentValue”. Kuna olen muutujadeklaratsiooni kohustuslikuks muutnud, lisades Exceli VBA-sse sõna „Option Explicit”, on see minu tehtud trükivea esile tõstnud.

Nii et kui õigekirja parandame ja koodi käivitame, saame tulemuse järgmiselt.

Tervitage värskelt määratud muutuvat mentorit !!!


$config[zx-auto] not found$config[zx-overlay] not found