ErklæringMulighed eksplicit øverst i dit kodemodul fortæller VBA at kræve, at du deklarerer alle de variabler, du bruger i koden. Hvis denne kommando udelades, kan du bruge variabler, som du ikke har deklareret. Vi anbefaler at bruge Option Explicit øverst på dit modul, da det hjælper dig med at undgå fejlskrivning af variablerne.
Brug af VBA -variabler uden mulighed eksplicit
Vi viser først eksemplet på koden, når der ikke er nogen Option Explicit -kommando. Her er koden:
123456789 | Privat undereksempelWOOptionExplicit ()Dim strTextA som strengstrTextA = "Test af VBA uden mulighed eksplicit"MsgBox strTextAAfslut Sub |
I eksemplet erklærede vi variablen strTextA i den første række af proceduren og tildelte den teksten. Derefter vil vi returnere meddelelsesboksen med værdien strTextA. Her er resultatet, når vi kører koden:
Billede 1. Koden uden mulighed eksplicit
Som du kan se i billede 1, udføres koden med succes. Beskedboksen med værdien fra strTextA dukkede op, selvom vi ikke erklærede variabel strTextA. Her er der ikke noget problem med koden, men hvad nu hvis vi havde stavet variabelnavnet forkert:
1 | MsgBox strTxtA |
Her skrev vi strTxtA (uden et "e") i stedet for strTextA. Som et resultat får vi en tom meddelelsesboks, fordi variablen strTxtA ikke var defineret. Nu vil vi se, hvordan du bruger Option Explicit til at forhindre fejl.
Brug af variablerne med option eksplicit
Hvis du vil forhindre brug af variabler, der ikke er deklareret, skal du indtasteMulighed eksplicit øverst på dit modul:
1 | Mulighed eksplicit |
Her er den komplette kode, herunder stavefejl:
12345678910 | Mulighed eksplicitPrivat undereksempelWithOptionExplicit ()Dim strTextA som strengstrTextA = "Test af VBA uden mulighed eksplicit"MsgBox strTxtAAfslut Sub |
Lad os se, hvad der sker, hvis vi kører koden:
Billede 2. Koden med Option Explicit
Som et resultat får vi fejlen "Variabel ikke defineret", fordi vi ikke erklæredestrTxtA variabel.
Tilføjelse af valgmuligheder eksplicit øverst i dine kodemoduler hjælper med at forhindre fejl fra stavede variabler.
Hvis du vil lære mere om VBA-andre VBA-muligheder, kan du lære mere om, hvordan du gør VBA-ufølsom over for VBA: Forebyg VBA-sagfølsom