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

Lang L: none (table-of-contents)

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õna valiku 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. Seda peamiselt töövihiku mitme kasutaja tõttu. 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 enne modulis makro käivitamist leidsite oma mooduli ülaosas sinise joonega sõna „Option Explicit”.

Ka VBA õppimise alguses ei saanud ma aru, mis see on, ja kui aus olla, siis ma isegi ei mõelnud sellele üldse. Mitte ainult teie ega minu jaoks, vaid see on sama 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 muutujadeklaratsioon kohustuslikuks protsessiks.

Näiteks mõistmiseks vaadake allolevat koodi.

Kood:

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

Kui käivitan selle koodi, 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 harjutate minuga, vajutage koodi käivitamiseks klahvi F5.

Saime kompileerimisvea ja seal öeldakse: "Muutujat pole määratletud." Me ei ole deklareerinud muutujat „i”, kuid oleme määranud 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 oma moodulisse käsitsi lisanud muutuja mentori „Option Explicit”, ei saa te seda muutuja mentorit vaikimisi.

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

Kuna saame selle sõna kõigis moodulites kohustuslikuks muuta, tehes lihtsa sätte, järgige sätete kohandamiseks allolevaid samme.

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 tehke valik „Nõua muutuja deklaratsiooni”.

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

Nüüdsest lisab see uue mooduli lisamisel vaikimisi automaatselt sõna „Option Explicit”.

Selgesõnaline variant on teie säästja

Selgesõnaline variant aitab meid mitmel viisil. Juba muutuja deklaratsiooni kohustuslikuks muutmisest aitab see meid 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 tulemusel saama 500. Aga vaata, mis juhtub.

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

Kui vaatame tähelepanelikult teist rida, siis 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 muutuja deklaratsiooni muutsin kohustuslikuks, lisades Exceli VBA-sse sõna „Option Explicit”, on see esile tõstnud minu tehtud trükivea.

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

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

Huvitavad Artiklid...