FörklararAlternativ Explicit högst upp i din kodmodul säger till VBA att du måste deklarera alla variabler som du använder i koden. Om detta kommando utelämnas kan du använda variabler som du inte har deklarerat. Vi rekommenderar att du använder alternativet Explicit högst upp i din modul, eftersom det hjälper dig att undvika att skriva fel på variablerna.
Använda VBA -variabler utan alternativ
Vi visar först exemplet på koden när det inte finns något Option Explicit -kommando. Här är koden:
123456789 | Privat subexempelWOOptionExplicit ()Dim strTextA som strängstrTextA = "Testa VBA utan alternativ explicit"MsgBox strTextAAvsluta Sub |
I exemplet deklarerade vi variabeln strTextA på första raden i proceduren och tilldelade den texten. Efter det vill vi returnera meddelanderutan med värdet strTextA. Här är resultatet när vi kör koden:
Bild 1. Koden utan alternativ Explicit
Som du kan se i bild 1 körs koden framgångsrikt. Meddelande rutan med värdet från strTextA visade sig, även om vi inte deklarerade variabel strTextA. Här är det inga problem med koden, men tänk om vi hade stavat variabelnamnet fel:
1 | MsgBox strTxtA |
Här skrev vi strTxtA (utan ett ”e”) istället för strTextA. Som ett resultat får vi en tom meddelanderuta, eftersom variabeln strTxtA inte definierades. Nu ska vi se hur du använder Option Explicit för att förhindra fel.
Använda variablerna med alternativet Explicit
Om du vill förhindra att använda variabler som inte deklareras måste du angeAlternativ Explicit högst upp i din modul:
1 | Alternativ Explicit |
Här är hela koden, inklusive stavfel:
12345678910 | Alternativ ExplicitPrivat del ExempelWithOptionExplicit ()Dim strTextA som strängstrTextA = "Testa VBA utan alternativ explicit"MsgBox strTxtAAvsluta Sub |
Låt oss se vad som händer om vi kör koden:
Bild 2. Koden med Option Explicit
Som ett resultat får vi felet "Variabel ej definierad" eftersom vi inte deklareradestrTxtA variabel.
Att lägga till Alternativ Explicit högst upp i kodmodulerna hjälper till att förhindra fel från felstavade variabler.
Om du vill lära dig mer om VBA andra VBA-alternativ, läs om hur du gör VBA skiftlägeskänslig: Förhindra VBA-skiftlägeskänslig