DeklariranjeOpcija Eksplicitno na vrhu vašeg kodnog modula govori VBA -i da zahtijeva da deklarirate sve varijable koje koristite u kodu. Ako je ova naredba izostavljena, možete koristiti varijable koje niste deklarirali. Preporučujemo korištenje Opcije Explicit pri vrhu vašeg modula jer vam pomaže da izbjegnete pogrešno upisivanje varijabli.
Korištenje VBA varijabli bez eksplicitne opcije
Prvo ćemo pokazati primjer koda kada nema naredbe Option Explicit. Evo koda:
123456789 | Privatni podprimjerWOOptionExplicit ()Zatamni strTextA kao nizstrTextA = "Testiranje VBA -e bez eksplicitne opcije"MsgBox strTextAKraj podm |
U primjeru smo deklarirali varijablu strTextA u prvom retku postupka i dodijelili joj tekst. Nakon toga želimo vratiti okvir s vrijednošću strTextA. Evo rezultata kada pokrenemo kôd:
Slika 1. Kôd bez opcije Explicit
Kao što možete vidjeti na slici 1, kôd je uspješno izveden. Okvir poruke s vrijednošću od strTextA pojavio, iako nismo deklarirali varijablu strTextA. Ovdje nema problema s kodom, ali što ako smo pogrešno napisali naziv varijable:
1 | MsgBox strTxtA |
Ovdje smo napisali strTxtA (bez "e") umjesto strTextA. Kao rezultat toga dobivamo prazan okvir s porukom jer varijabla strTxtA nije definirana. Sada ćemo vidjeti kako koristiti opciju Explicit za sprječavanje pogrešaka.
Korištenje varijabli s opcijom Explicit
Ako želite spriječiti korištenje varijabli koje nisu deklarirane, morate unijetiOpcija Eksplicitno pri vrhu vašeg modula:
1 | Opcija Eksplicitno |
Evo cijelog koda, uključujući pogrešku pri upisu:
12345678910 | Opcija EksplicitnoPrivatni podprimjerWithOptionExplicit ()Zatamni strTextA kao nizstrTextA = "Testiranje VBA -e bez eksplicitne opcije"MsgBox strTxtAKraj podm |
Pogledajmo što će se dogoditi ako pokrenemo kôd:
Slika 2. Kôd s opcijom Explicit
Kao rezultat toga, dobivamo pogrešku "Varijabla nije definirana", jer nismo deklariralistrTxtA promjenjiva.
Dodavanje opcije Explicit na vrhu vaših modula koda pomaže u sprječavanju pogrešaka zbog pogrešno napisanih varijabli.
Ako želite saznati više o VBA drugim VBA opcijama, saznajte kako VBA učiniti osjetljivom na velika i mala slova: Spriječite VBA razlikovanje velikih i malih slova