Vi kommer att täcka globala variabler i denna handledning. En variabel i VBA kan ha ett annat omfång. En variabel omfattning baseras på dess position i koden och hur den deklareras. Omfattningen av en variabel indikerar dess synlighet och var den kan användas.
Variabel på procedurenivå
Dessa variabler kan bara användas inom delproceduren eller funktionen som de deklareras i. Du måste deklarera en variabel på procedurnivå med sökordet Dim. Dessutom måste du placera det inom delproceduren eller funktionen av intresse. Hur du skulle deklarera en variabel på procedurenivå visas i koden nedan:
1234567 | DeldeklarationAProcedureLevelVariable ()Dim someNumber Som heltalsomeNumber = 5MsgBox someNumberAvsluta Sub |
Resultatet är:
Du kan bara använda denna variabel inom delproceduren som heter DeclaringAProcedureLevelVariable (). Eftersom det finns i detta delprocedur och vi använde Dim -sökordet. Om du ringer det från ett annat delprocedur får du följande fel:
Modulnivåvariabel
Du kan använda en modulnivåvariabel i någon av delprocedurerna eller funktionerna inom samma modul. Du måste placera variabeldeklarationen högst upp i modulen i avsnittet Deklarationer, under alternativet Explicit statement, och använda nyckelordet Dim:
När vi kör det andra delproceduren istället för ett felmeddelande får vi följande resultat i cell A1 i arbetsboken:
Global nivåvariabel
Du kan använda en global variabel i dina moduler, funktioner, delprocedurer och klasser. Du deklarerar en global variabel, i avsnittet Deklarationer, under alternativet Explicit statement och använder sökordet Global. Hur du deklarerar en global nivåvariabel visas nedan. Båda delprocedurerna i modul1 kan använda denna variabel.
Eftersom denna variabel är en global nivåvariabel kan du också använda den i Module2:
När du kör den här koden från Module2 får du följande resultat: