Globale VBA-Variablen

Einige Funktionen werden innerhalb einer Funktion definiert und innerhalb der Funktionen verwendet, und einige Variablen werden außerhalb der Funktionen definiert und von allen Funktionen verwendet. Solche Variablen werden als globale Variablen verwendet. Beispielsweise sind die unter der Unterfunktion deklarierten Variablen bekannt als globale Variablen.

Globale Variable in Excel VBA

Das Deklarieren einer Variablen scheint ziemlich einfach zu sein, aber um sie in den Händen zu halten, müssen wir den Umfang dieser Variablen verstehen. Oft deklarieren wir jedes Mal die Variablen für jedes Makro innerhalb der Unterprozedur. Durch Deklarieren einer Variablen können wir sie jedoch in allen Makros im selben Modul sowie in den anderen Modulen des aktuellen VBA-Projekts verwenden. In diesem Artikel zeigen wir Ihnen, wie Sie globale Variablen in Excel VBA deklarieren.

Was sind globale Variablen in Excel VBA?

Globale VBA-Variablen sind Variablen, die vor dem Start eines Makros im Modul deklariert werden. Wenn die Variablen entweder mit "Öffentlich" oder "Global" deklariert werden, wird sie zu "Globale Variable".

Unterprozedurvariablen können nicht überall verwendet werden

Normalerweise deklarieren wir die Variable innerhalb des Unterprogramms in vba mit dem Wort „Dim“.

Schauen Sie sich das obige Bild an. Ich habe die Variable "k" als Ganzzahl in der Unterprozedur Global_Example1 deklariert.

Wenn wir diese Variable zu irgendeinem Zeitpunkt in dieser Sub-Prozedur verwenden. Ich kann diese Variable jedoch weder in demselben Klassenmodul in VBA noch in einem anderen Modul in einer anderen Unterprozedur verwenden.

Wie im obigen Bild gezeigt, kann die in der Unterprozedur Global_Example1 deklarierte Variable "k" nicht in der Unterprozedur Global_Example2 verwendet werden.

In ähnlicher Weise kann die in der Unterprozedur Global_Example2 deklarierte Variable "j" nicht in der Unterprozedur Global_Example1 verwendet werden, obwohl sich beide Unterprozeduren im selben Modul befinden.

Wie deklariere ich globale Variablen in VBA?

Im Folgenden finden Sie die Möglichkeiten, eine globale Variable in Excel VBA zu deklarieren.

# 1 - Modulvariablen können in jeder Unterprozedur im selben Modul verwendet werden

Wie wir gesehen haben, können wir die Subprozedurvariablen in keinem der Module verwenden. Um sie für alle Sub-Prozeduren im selben Modul verfügbar zu machen, müssen wir die Variablen oben im Modul deklarieren.

Im obigen Bild habe ich die Variable nur am Anfang des Moduls deklariert. Ich habe die Variable "MyNumber" in Modul 1 als Integer deklariert .

Sobald die Variable oben im Modul deklariert ist, können wir dieselbe Variable für alle anderen Sub-Prozeduren im selben Modul verwenden. In diesem Fall können wir die Variable "MyNumber" für alle Sub-Prozeduren in Modul 1 verwenden.

Das Problem ist, dass wir sie in keinem der anderen Module verwenden können. In diesem Fall kann die in Modul 1 deklarierte Variable „MyNumber“ in Modul 2 nicht verwendet werden .

 # 2 - Globale Variablen können in jeder Unterprozedur und auch in jedem Modul verwendet werden

Jetzt haben wir zwei Arten von Variablendeklarationen und deren Umfang bei der Verwendung gesehen. Das Interessante ist, dass wir die Variable in einem der Module deklarieren und für alle Sub-Prozeduren in allen Modulen desselben VBA-Projekts verwenden können.

Um die Variable für alle Sub-Prozeduren in allen Modulen verfügbar zu machen, müssen wir die Variable am oberen Rand des Moduls nicht mit dem Wort "Dim", sondern mit dem Wort "Public" oder "Global" deklarieren.

Im obigen Bild sehen Sie, dass ich das Wort "Öffentlich" verwendet habe, um die Variable anstelle unseres Veteranenworts "Dim" zu deklarieren .

Im obigen Screenshot habe ich die Variable in Modul 1 deklariert . Ich habe zwei weitere Module mit den Namen Modul 2 und Modul 3.

Da ich die Variable mit dem Wort "Öffentlich" am oberen Rand des Moduls deklariert habe, kann ich jetzt in jeder Unterprozedur in jedem Modul derselben Arbeitsmappe auf diese Variablen zugreifen.

Nicht nur "Öffentlich", sondern wir können auch das Wort "Global" verwenden, um die Variable zu deklarieren.

Global & Public sind die beiden Schlüsselwörter, mit denen die Variable deklariert und modulübergreifend in VBA verfügbar gemacht wird.

Dinge, an die man sich erinnern sollte

  • Sobald das Excel-Makro mit einer globalen Variablen ausgeführt wird, ist der Wert der Variablen für alle Sub-Prozeduren gleich.
  • Es ist besser, ein bestimmtes Modul zu verwalten, um globale Variablen in VBA zu deklarieren und alle Variablen in einem Modul zu haben.
  • Die einzige Möglichkeit, den Wert der Variablen zurückzusetzen, besteht darin, den Makrocode durch Drücken der Stopp-Taste zurückzusetzen.