DeklareerimineValik Selge koodimooduli ülaosas käsib VBA -l nõuda, et deklareeriksite kõik koodis kasutatavad muutujad. Kui see käsk välja jätta, saate kasutada muutujaid, mida te pole deklareerinud. Soovitame kasutada mooduli ülaosas olevat suvandit Explicit, kuna see aitab vältida muutujate eksimist.
VBA muutujate kasutamine ilma suvandita Explicit
Esmalt näitame koodi näidet, kui käsku Option Explicit pole. Siin on kood:
123456789 | Privaatne alamnäideWOOptionExplicit ()Dim strTextA stringinastrTextA = "VBA testimine ilma selgesõnalise valikuta"MsgBox strTextAEnd Sub |
Näites deklareerisime protseduuri esimesel real muutuja strTextA ja määrasime sellele teksti. Pärast seda tahame sõnumikasti väärtusega tagasi saata strTextA. Siin on tulemus koodi käivitamisel:
Pilt 1. Kood ilma suvandita Explicit
Nagu näete pildil 1, on kood edukalt täidetud. Sõnumikast väärtusega strTextA ilmus, kuigi me ei kuulutanud muutujat strTextA. Siin pole koodiga probleeme, aga mis siis, kui oleksime muutuja nime valesti kirjutanud:
1 | MsgBox strTxtA |
Siin kirjutasime strTextA asemel strTxtA (ilma “e” -ta). Selle tulemusena saame tühja sõnumikasti, kuna muutujat strTxtA ei määratud. Nüüd näeme, kuidas kasutada suvandit Explicit vigade vältimiseks.
Muutujate kasutamine koos suvandiga Explicit
Kui soovite vältida deklareerimata muutujate kasutamist, peate sisestamaValik Selge mooduli ülaosas:
1 | Valik Selge |
Siin on täielik kood, sealhulgas kirjaviga:
12345678910 | Valik SelgePrivaatne alamnäideWithOptionExplicit ()Dim strTextA stringinastrTextA = "VBA testimine ilma selgesõnalise valikuta"MsgBox strTxtAEnd Sub |
Vaatame, mis juhtub, kui käivitame koodi:
Pilt 2. Kood koos valikuga Explicit
Selle tulemusena saame vea „Muutuja pole määratletud”, kuna me ei deklareerinudstrTxtA muutuja.
Option Explicit lisamine koodimoodulite ülaossa aitab vältida valesti kirjutatud muutujate vigu.
Kui soovite rohkem teada saada VBA muude VBA valikute kohta, lugege, kuidas muuta VBA tõstutundetuks: vältige VBA tõstutundlikkust