Globale VBA-Variable

Inhaltsverzeichnis

In diesem Tutorial werden wir globale Variablen behandeln. Eine Variable in VBA kann einen anderen Gültigkeitsbereich haben. Der Gültigkeitsbereich einer Variablen basiert auf ihrer Position im Code und der Art und Weise, wie sie deklariert wird. Der Gültigkeitsbereich einer Variablen gibt an, ob sie sichtbar ist und wo sie verwendet werden kann.

Variable auf Verfahrensebene

Diese Variablen können nur innerhalb der Unterprozedur oder Funktion verwendet werden, in der sie deklariert wurden. Sie müssen eine Variable auf Prozedurebene mit dem Schlüsselwort Dim deklarieren. Darüber hinaus müssen Sie es in die interessierende Unterprozedur oder Funktion einfügen. Die Art und Weise, wie Sie eine Variable auf Prozedurebene deklarieren würden, wird im folgenden Code gezeigt:

1234567 Sub DeclaringAProcedureLevelVariable()Dim someNumber As IntegereinigeZahl = 5MsgBox einigeNummerEnd Sub

Das Ergebnis ist:

Sie können diese Variable nur innerhalb der Subprozedur namens DeclaringAProcedureLevelVariable() verwenden. Da es in dieser Unterprozedur enthalten ist und wir das Schlüsselwort Dim verwendet haben. Wenn Sie es von einer anderen Unterprozedur aus aufrufen, erhalten Sie die folgende Fehlermeldung:

Modulstufenvariable

Sie können eine Variable auf Modulebene in jeder der untergeordneten Prozeduren oder Funktionen innerhalb desselben Moduls verwenden. Sie müssen die Variablendeklaration oben im Modul im Abschnitt Deklarationen unter der Anweisung Options Explicit platzieren und das Schlüsselwort Dim verwenden:

Wenn wir die zweite Unterprozedur anstelle einer Fehlermeldung ausführen, erhalten wir in Zelle A1 der Arbeitsmappe das folgende Ergebnis:

Globale Level-Variable

Sie können eine globale Variable in Ihren Modulen, Funktionen, Unterprozeduren und Klassen verwenden. Sie deklarieren eine globale Variable im Deklarationsabschnitt unter der Options Explicit-Anweisung und verwenden das Schlüsselwort Global. Wie Sie eine Variable auf globaler Ebene deklarieren, wird unten gezeigt. Beide Unterprozeduren in Module1 können diese Variable verwenden.

Da diese Variable eine Variable auf globaler Ebene ist, können Sie sie auch in Modul2 verwenden:

Wenn Sie diesen Code von Module2 ausführen, erhalten Sie das folgende Ergebnis:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave