VBA opcija eksplicitno | Kako učiniti promjenljivu deklaraciju obveznom?

Excel VBA opcija eksplicitna

Deklaracija varijabli je vrlo važna u VBA-u, Option Explicit čini korisnika obaveznim deklariranjem svih varijabli prije nego što ih koristi, bilo koja nedefinirana varijabla izbacit će pogrešku tijekom izvršavanja koda, opciju ključne riječi možemo napisati eksplicitno ili je možemo omogućiti za sve kodove iz opcija omogućujući zahtijevanje deklaracije varijabli.

U VBA se sve vrti oko varijabli. Da bismo pohranili podatke, potrebne su nam varijable s odgovarajućim tipom podataka. Možete me ispitati zašto vam je potrebna varijabla kad možete izravno dodati vrijednost u samu proračunsku tablicu. To je uglavnom zbog više korisnika radne knjige, ako njome rukuje jedna osoba, vrijednost možete izravno uputiti na sam list. Deklariranjem varijabli možemo napraviti fleksibilni kod za pohranu podataka.

Što je eksplicitno VBA opcija?

Nadam se da ste naišli na modro obrubljenu riječ "Option Explicit" na vrhu vašeg modula prije nego što je bilo koja makronaredba pokrenuta u tom modulu.

Na početku učenja VBA ni ja nisam razumio što je to, a da budem iskren, uopće nisam ni razmišljao o ovome. Ne samo za mene ili za vas, već je isto i za sve u početku. Ali važnost ove riječi vidjet ćemo sada.

"Option Explicit" je naš mentor u deklariranju varijable. Dodavanjem ove riječi čini deklaraciju varijable obveznim postupkom.

Ovaj eksplicitni Excel predložak opcije VBA opcije možete preuzeti ovdje - VBA opcija eksplicitni Excel predložak

Za primjer pogledajte donji kod za razumijevanje.

Kodirati:

 Sub Primjer1 () i = 25 MsgBox i Kraj Sub 

Ako pokrenem ovaj kod, dobit ćemo vrijednost varijable "I" u okviru za poruke u VBA.

Sada ću dodati riječ "Option Explicit" na samom početku VBA koda.

Sad ću pokrenuti kod i vidjeti što će se dogoditi. Ako vježbate sa mnom, pritisnite tipku F5 za pokretanje koda.

Dobili smo pogrešku kompajliranja i piše "Varijabla nije definirana" . Nismo proglasili varijablu "i", ali odmah smo joj dodijelili vrijednost 25.

Budući da smo dodali riječ "Option Explicit", prisiljava nas da obvezno deklariramo varijablu.

U gornji kôd abeceda "i" nije deklarirana, pa smo dodali riječ kontrolora varijable "Opcija izričita" koja nas sprječava da koristimo neprijavljene varijable.

Onog trenutka kada na vrh modula dodate riječ "Izričito opcija", primjenjivo je za sve makronaredbe u tom modulu obavezno deklariranje varijabli.

Kako učiniti promjenljivu deklaraciju obveznom?

Ako ste ručno dodali varijablu mentor "Option Explicit" u svoj modul kada umetnete novi modul, nećete zadano dobiti ovu varijablu mentor.

Ako mislite da svaki put trebate ručno dodati riječ "Izričito opcija" za sve nove module, varate se.

Budući da ovu riječ možemo učiniti obveznom u svim modulima jednostavnim postavljanjem. Slijedite korake u nastavku za podešavanje postavki.

Korak 1: Idite na Visual basic editor.

Korak 2: Idite na TOOLS i kliknite na Options.

Korak 3: Onog trenutka kada kliknete na Options, vidjet ćete donji prozor.

Korak 4: U ovom prozoru idite na Editor i označite opciju "Zahtijeva deklaraciju varijable" .

Korak 5: Kliknite U redu da biste zatvorili prozor.

Od sada pa nadalje, kad god dodate novi modul, on automatski ubacuje riječ "Izričito na opciju".

Izričita opcija je vaš štediša

Opcija Eksplicitno nam pomaže na mnogo načina, već od činjenice da je deklaracija varijable obavezna, to će nam pomoći do izvršenja. Pogledajte donji kod.

Kodirati:

 Sub Primjer2 () Zatamni CurrentValue kao cjelobrojnu CurentValue = 500 MsgBox CurrentValue End Sub 

U gore navedenom kodu proglasio sam varijablu "CurrentValue" kao cijeli broj. U sljedećem sam retku dodijelio vrijednost 500. Ako pokrenem ovaj kod, trebao bih dobiti 500 kao rezultat u okviru za poruku. Ali pogledajte što će se dogoditi.

Kaže "Varijabla nije definirana" i istaknuo je drugi redak.

Ako pažljivo pogledamo drugi redak, postoji lagana pravopisna pogreška. Moje ime varijable je "CurrentValue", ali u drugom sam retku propustio jedan pravopis tj. "R". U njemu piše "CurrentValue" umjesto "CurrentValue". Budući da sam deklaraciju varijable učinio obaveznom dodavanjem riječi "Izričito opcija" u excel VBA, istaknuo mi je pogrešku u tipkanju.

Dakle, kada ispravimo pravopis i pokrenemo kod, dobit ćemo rezultat kako slijedi.

Pozdravite novoimenovanog mentora varijable !!!