VBA-alternativ Explicit - Hur gör jag en variabel deklaration obligatorisk?

Innehållsförteckning

Excel VBA-alternativ Explicit

Variabeldeklaration är mycket viktigt i VBA, Option Explicit gör att en användare är obligatorisk att deklarera alla variabler innan de används, alla odefinierade variabler kommer att kasta ett fel medan koden körs, vi kan skriva nyckelordsalternativet uttryckligen eller vi kan aktivera det för alla koder från alternativ genom att aktivera att kräva variabeldeklaration.

I VBA handlar det om variabler. För att lagra data behöver vi variabler med en lämplig datatyp. Du kan fråga mig varför behöver du variabel när du direkt kan lägga till värdet i kalkylbladet själv. Detta beror främst på flera användare av arbetsboken. Om det hanteras av en person kan du hänvisa värdet direkt till själva arket. Genom att deklarera variabler kan vi skapa den flexibla koden för att lagra data.

Vad är VBA Option Explicit?

Jag hoppas att du hade stött på det blå fodrade ordet "Option Explicit" högst upp i din modul innan något makro startade i den modulen.

I början av att lära mig VBA förstod jag inte vad det var, och för att vara väldigt uppriktig tänkte jag inte ens på det här alls. Inte bara för dig eller mig, men det är också detsamma för alla i början. Men vi kommer att se vikten av detta ord nu.

“Option Explicit” är vår mentor när vi deklarerar variabeln. Genom att lägga till detta ord gör det variabeldeklarationen till en obligatorisk process.

Titta till exempel på nedanstående kod för att förstå.

Koda:

Subexempel1 () i = 25 MsgBox i End Sub

Om jag kör den här koden får vi värdet av variabeln "I" i meddelandefältet i VBA.

Nu lägger jag till ordet ”Option Explicit” i början av VBA-koden.

Nu ska jag köra koden och se vad som händer. Om du tränar med mig, tryck på F5-tangenten för att köra koden.

Vi fick ett kompileringsfel och det står "Variabel inte definierad." Vi har inte deklarerat variabeln "i", men genast har vi tilldelat värdet till den 25.

Eftersom vi har lagt till ordet ”Option Explicit” tvingar det oss att förklara variabeln obligatoriskt.

I koden ovan är alfabetet “i” odeklarerat, så vi har lagt till ordet för variabel styrenhet ”Alternativ Explicit” som hindrar oss från att använda de odeklarerade variablerna.

När du lägger till ordet ”Option Explicit” högst upp i modulen är det tillämpligt för alla makron i den specifika modulen att deklarera variablerna obligatoriskt.

Hur gör jag den variabla deklarationen obligatorisk?

Om du har lagt till variabelmentorn ”Option Explicit” manuellt i din modul när du sätter in den nya modulen får du inte den variabla mentorn som standard.

Om du tänker varje gång du behöver lägga till ordet ”Option Explicit” för alla nya moduler manuellt, har du fel.

Eftersom vi kan göra detta ord obligatoriskt i alla moduler genom att göra en enkel inställning, följ nedanstående steg för att justera inställningarna.

Steg 1: Gå till Visual Basic Editor.

Steg 2: Gå till VERKTYG och klicka på Alternativ.

Steg 3: När du klickar på Alternativ ser du fönstret nedan.

Steg 4: Under det här fönstret, gå till Editor och markera alternativet "Kräv variabel deklaration."

Steg 5: Klicka på OK för att stänga fönstret.

Från och med nu, när du lägger till en ny modul, infogar den automatiskt ordet "Option Explicit" som standard.

Option Explicit är din sparare

Option Explicit hjälper oss på många sätt. Redan från att deklarationen om variabel är obligatorisk kommer det att hjälpa oss fram till genomförandet. Titta på koden nedan.

Koda:

Subexempel2 () Dim strömvärde som heltal Nuvarande värde = 500 MsgBox CurrentValue End Sub

I ovanstående kod har jag förklarat variabeln "CurrentValue" som ett heltal. I nästa rad har jag tilldelat värdet 500 till det. Om jag kör den här koden ska jag få 500 som ett resultat av en meddelanderuta. Men se vad som händer.

Det står "Variabel ej definierad" och markerade andra raden.

Om vi ​​tittar noga på andra raden finns det ett litet stavfel. Mitt variabelnamn är "CurrentValue", men i andra raden har jag missat en stavning, dvs "r". Det står "CurrentValue" istället för "CurrentValue." Eftersom jag har gjort variabeldeklarationen obligatorisk genom att lägga till ordet ”Option Explicit” i excel VBA har det markerat det skrivfel jag har gjort.

Så när vi korrigerar stavningen och kör koden får vi resultatet enligt följande.

Hej den nyutnämnda variabla mentorn !!!

Intressanta artiklar...