/ / Variabel Omfattning i Excel VBA

Variabel räckvidd i Excel VBA

De omfattning av en variabel i Excel VBA bestämmer var den variabeln kan användas. Du bestämmer räckvidden för en variabel när du förklarar det. Det finns tre scopingnivåer: procedurenivå, modulnivå, och allmän modulnivå.

Placera en kommandoknapp på ditt arbetsblad och lägg till följande kodlinjer:

Variabelt omfångsexempel

1. Placera de två procedurerna (ett förfarande är antingen en del eller en funktion) i en modul. I Visual Basic Editor klickar du på Infoga, modul. Lägg till följande kodlinjer:

Procedurnivå omfattning i Excel VBA

2. Resultat när du klickar på kommandoknappen på arket (ring de två delarna):

Förfarande Nivåomfattning Resultat

Förfarande Nivåomfattning Resultat

Förklaring: den variabla txt har omfattningsprocedurnivå eftersom den deklareras i proceduren (mellan del och slutdel). Som ett resultat kan du bara använda denna variabel i del1. Den variabla txt kan inte användas i del2.

3. När du vill att en variabel ska vara tillgänglig för alla procedurer i en modul säger du att variabeln ska ha modulnivå. Du måste deklarera variabeln i avsnittet Allmänna förklaringar (högst upp på modulen). Lätt justera koden enligt följande:

Modulnivå Omfattning i Excel VBA

4. Resultat när du klickar på kommandoknappen på arket:

Modulnivå Omfattning Resultat

Modulnivå Omfattning Resultat

Förklaring: den variabla txt kan nu användas i del2. Modulnivå används utbytbart med privata modulnivå. Det beror på att standardvariabler som deklareras med Dim-förklaringen i avsnittet Allmänna förklaringar är scoped som privata. Du kan också använda en variabel som allmän. Läs vidare.

5. Genom att använda det allmänna sökordet kommer din variabel att vara tillgänglig för alla procedurer i alla moduler i en arbetsbok. Detta kallas den offentliga modulnivån. Lätt justera koden enligt följande:

Public Module Level Scope i Excel VBA

Förklaring: nu kan du skapa en ny modul och placera en sub som heter sub3 i den här modulen. Använd samma kod som under2. Lägg till sub3 till din kommandoknappskod. När du klickar på kommandoknappen på kalkylbladet får du tre meddelandefält som säger "Variabel kan bara användas i den här proceduren" (se nedladdningsbar Excel-fil).

Läs också: