DeklarereAlternativ Eksplisitt øverst i kodemodulen ber VBA kreve at du deklarerer alle variablene du bruker i koden. Hvis denne kommandoen utelates, kan du bruke variabler som du ikke har deklarert. Vi anbefaler å bruke Option Explicit øverst i modulen, siden det hjelper deg med å unngå feil skriving av variablene.
Bruke VBA -variabler uten alternativ eksplisitt
Vi vil først vise eksemplet på koden når det ikke er noen Option Explicit -kommando. Her er koden:
123456789 | Privat undereksempelWOOptionExplicit ()Dim strTextA As StringstrTextA = "Testing av VBA uten alternativ eksplisitt"MsgBox strTextASlutt Sub |
I eksemplet erklærte vi variabelen strTextA i første rad i prosedyren og tildelte den teksten. Etter det vil vi returnere meldingsboksen med verdien av strTextA. Her er resultatet når vi kjører koden:
Bilde 1. Koden uten alternativ eksplisitt
Som du kan se på bilde 1, er koden vellykket utført. Meldingsboksen med verdien fra strTextA dukket opp, selv om vi ikke erklærte variabel strTextA. Her er det ikke noe problem med koden, men hva om vi hadde stavet variabelnavnet feil:
1 | MsgBox strTxtA |
Her skrev vi strTxtA (uten en "e") i stedet for strTextA. Som et resultat får vi en tom meldingsboks, fordi variabelen strTxtA ikke var definert. Nå skal vi se hvordan du bruker Option Explicit for å forhindre feil.
Bruke variablene med alternativ eksplisitt
Hvis du vil forhindre bruk av variabler som ikke er deklarert, må du skrive innAlternativ Eksplisitt øverst i modulen:
1 | Alternativ Eksplisitt |
Her er den komplette koden, inkludert skrivefeil:
12345678910 | Alternativ EksplisittPrivat undereksempelWithOptionExplicit ()Dim strTextA As StringstrTextA = "Testing av VBA uten alternativ eksplisitt"MsgBox strTxtASlutt Sub |
La oss se hva som skjer hvis vi kjører koden:
Bilde 2. Koden med Option Explicit
Som et resultat får vi feilen "Variabel ikke definert" fordi vi ikke erklærtestrTxtA variabel.
Å legge til Option Explicit øverst i kodemodulene bidrar til å forhindre feil fra feilstavede variabler.
Hvis du vil lære mer om VBA andre VBA-alternativer, kan du lære om hvordan du gjør VBA uvesentlige: Forhindre VBA-saksfølsom