Globale Variable in VBA

Iqra Hasnain 21 Juni 2023
Globale Variable in VBA

Wir werden vorstellen, wie wir globale Variablen in VBA erstellen können. Wir werden auch die Vor- und Nachteile der Verwendung einer globalen Variablen in VBA diskutieren.

Globale Variable in VBA

Bei der Arbeit mit Variablen in VBA stoßen wir auf Situationen, in denen wir möglicherweise dieselben Variablen in mehreren Funktionen verwenden müssen. Eine innerhalb einer Funktion deklarierte Variable kann jedoch nicht außerhalb dieser Funktion verwendet werden.

Dazu deklarieren wir globale Variablen in VBA. Globale Variablen sind die Variablen, die zu Beginn eines Makros deklariert werden.

Diese Variablen werden außerhalb der Funktion definiert und in Funktionen oder Modulen verwendet. Die Variablen werden mit dem Schlüsselwort Public oder Global deklariert.

Wir können globale Variablen deklarieren, indem wir die unten gezeigten Schritte ausführen.

  1. Wir verwenden das Schlüsselwort Global oder Public.
  2. Deklarieren Sie den Namen der Variablen, nachdem Sie das Schlüsselwort geschrieben haben.
  3. Um die Liste der Datentypen zu erhalten, schreiben Sie as.
  4. Wählen Sie den Datentyp aus, der an einem VBA-Code beteiligt ist.

Wenn wir zwei Variablen für Untermodule verschiedener Zeiten einbeziehen müssen, dann ist es vorzuziehen, die globalen Variablen explizit zu definieren. Lassen Sie uns ein Beispiel durchgehen, in dem wir die globale Variable str deklarieren und sie in 2 verschiedenen Subs verwenden, wie unten gezeigt.

Dim str As String

Sub firstSub()

str = "This is first Sub"
MsgBox (str)

End Sub

Sub secondSub()

str = "This is second Sub"
MsgBox (str)

End Sub

Ausgang:

globale Variable, die in 2 verschiedenen Subs in VBA verwendet wird

Wie wir im obigen Beispiel sehen können, wird die Nachricht vom ersten Sub angezeigt, wenn sich unser Cursor in firstSub() befindet, und wenn sich unser Cursor in secondSub() befindet, wird die Nachricht vom zweiten Sub angezeigt.

Auf diese Weise können wir dieselbe Variable in mehreren Subs verwenden. Wenn wir globale Variablen zwischen verschiedenen Modulen einführen möchten, können wir unseren Code wie unten gezeigt schreiben.

Dim globalVar As String

Sub firstSub()

globalVar = 10

End Sub

Sub secondSub()

MsgBox (globalVar)

End Sub

Ausgang:

globale Variable, die in 2 verschiedenen Subs in VBA verwendet und Wert von firstSub erhält

Wie Sie im obigen Beispiel sehen können, weist es den Wert der globalen Variablen zu, wenn wir den Code von firstSub() ausführen. Wenn wir den Code von secondSub() ausführen, zeigt er diesen Wert an.

Lassen Sie uns nun die Vor- und Nachteile der Verwendung globaler Variablen in VBA diskutieren.

Vorteile der globalen Variablen in VBA

Die Hauptvorteile globaler Variablen sind:

  1. Diese Variablen sind global zugänglich, da die globalen Variablen für alle Funktionen und Module des VBA-Codes verwendet werden können.
  2. Wir müssen globale Variablen nur einmal definieren und können sie dann mehrfach in einem VBA-Code verwenden.
  3. Die Variablen halten uns von der Komplexität fern, die mit dem Schreiben langer Codes verbunden ist, oder von der Verwirrung, die durch die mehrfache Einbeziehung von Variablen entsteht.
  4. Deklarieren wir konstante Variablen, dann ist die Konsistenz unseres VBA-Makros sichergestellt.
  5. Ein Schlüsselfaktor globaler Variablen ist die einfache Wartung.
  6. Da Variablen nur einmal deklariert werden sollen, wird die Anzahl der Zeilen in den VBA-Codes reduziert. Solche Arten von Codes sind einfach zu lesen.

Lassen Sie uns nun die Nachteile der Verwendung der globalen Variablen in VBA besprechen.

Nachteile der globalen Variablen in VBA

Die mit globalen Variablen verbundenen Nachteile sind:

  1. Das Debuggen des Codes ist kompliziert, da Variablen explizit definiert werden.
  2. Eine geringfügige Änderung einer Variablen an einem Punkt impliziert die Änderung aller Punkte, die die Variable betreffen, und verschlechtert die Funktionalität des VBA-Codes.
  3. Die globale Variable ist vom übergeordneten Modul abhängig, und wir müssen jedes Modul jedes Mal neu entwerfen, wenn mehrere Module innerhalb desselben VBA-Codes verwendet werden.

Verwandter Artikel - VBA Variable