/ / Variable Scope i Excel VBA

Variable Scope i Excel VBA

Det omfang af en variabel i Excel VBA bestemmer, hvor denne variabel kan anvendes. Du bestemmer omfanget af en variabel, når du erklærer det. Der er tre scoping niveauer: procedure niveau, modulniveau, og offentligt modul niveau.

Placer en kommandoknap på dit regneark og tilføj følgende kodelinjer:

Eksempel på variabelt anvendelsesområde

1. Placer de to procedurer (en procedure er enten en under eller en funktion) i et modul. I Visual Basic Editor skal du klikke på Indsæt, Modul. Tilføj følgende kode linjer:

Procedure Level Scope i Excel VBA

2. Resultat, når du klikker på kommandoknappen på arket (kald de to subs):

Procedure Niveau Scope Resultat

Procedure Niveau Scope Resultat

Forklaring: den variable txt har omfangsprocedureniveau, fordi den er erklæret i proceduren (mellem Sub og End Sub). Som følge heraf kan du kun bruge denne variabel i under1. Den variable txt kan ikke bruges i under2.

3. Når du vil have en variabel til rådighed for alle procedurer i et modul, siger du, at variablen skal have modulniveau. Du skal erklære variablen i afsnittet generelle deklarationer (øverst på modulet). Juster koden lidt som følger:

Modulniveau Scope i Excel VBA

4. Resultat, når du klikker på kommandoknappen på arket:

Modulniveau Scope Resultat

Modulniveau Scope Resultat

Forklaring: den variable txt kan nu bruges i sub2. Modulniveau bruges udvekslet med privat modulniveau. Det skyldes, at variabler, der er erklæret med Dim-sætningen i afsnittet Generelle deklarationer, som standard er scoped som private. Du kan også vælge en variabel som offentlig. Læs videre.

5. Ved at bruge det offentlige søgeord er din variabel tilgængelig for alle procedurer i alle moduler i en projektmappe. Dette kaldes det offentlige modulniveau anvendelsesområde. Juster koden lidt som følger:

Offentligt modulniveau Scope i Excel VBA

Forklaring: nu kan du oprette et nyt modul og placere en sub kaldet sub3 i dette modul. Brug samme kode som under2. Tilføj sub3 til din kommandokodekode. Når du klikker på kommandoknappen på regnearket, får du tre meddelelsesbokse, der siger "Variabel kan kun bruges i denne procedure" (se downloadbar Excel-fil).

Læs også: