Globale Excel VBA-Variablen

Normalerweise deklarieren wir eine Variable mit dem Wort DIM und dies ist die beste direkte Methode, um dies zu tun. Die mit DIM deklarierten Variablen können jedoch nur innerhalb desselben Moduls verwendet werden. Wenn wir versuchen, diese mit DIM definierte Variable zu verwenden, gilt dies für das Modul, unter dem sie deklariert wird. Was ist, wenn wir eine Variable in einem Modul oder Projekt verwenden möchten? Was kann nicht möglich sein, wenn wir weiterhin DIM verwenden, um diese Variable zu definieren?

In diesem Fall haben wir eine sekundäre Option, indem wir die Variable in VBA durch das Wort Global oder Public definieren . VBA Global oder Public Variablen sind solche Variablen, die mit Hilfe der Option Explicit am Anfang der Unterkategorie deklariert werden. Was auch immer wir unter Unterkategorien nicht tun oder nicht tun können, sie werden davor unter Option Explicit ausgeführt.

Wie deklariere ich globale Variablen in VBA?

Im Folgenden finden Sie verschiedene Beispiele zum Deklarieren einer globalen Variablen in Excel mithilfe von VBA-Code.

Sie können diese Excel-Vorlage für globale VBA-Variablen hier herunterladen - Excel-Vorlage für globale VBA-Variablen

Globale VBA-Variablen - Beispiel 1

In diesem Beispiel wird gezeigt, wie verschiedene Unterkategorien als ein einzelnes Modul verwendet werden können, ohne Global oder Public Word zum Definieren einer Variablen zu verwenden. Dafür bräuchten wir ein Modul.

  • Gehen Sie zum Menü Einfügen und klicken Sie auf Modul wie unten gezeigt.

  • Geben Sie nun die Unterkategorie wie unten gezeigt in einen beliebigen Namen ein.

Code:

 Sub Global_Variable () End Sub 

  • Verwenden Sie nun DIM, um eine beliebige Variable zu definieren. Hier haben wir das Alphabet A als String gewählt .

Code:

 Sub Global_Variable () Dim A As String End Sub 

  • Erstellen Sie nun eine weitere Unterkategorie im selben Modul wie unten gezeigt.

Code:

 Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () End Sub 

  • Definieren Sie nun in der zweiten Unterkategorie eine weitere Variable B mit DIM als String.

Code:

 Sub Global_Variable () A als Stringende dimmen Sub Sub Global_Variable6 () B als Stringende dimmen Sub 

Wie oben gezeigt, können die in beiden Unterkategorien definierten Variablen A und B nicht in der Region des jeweils anderen verwendet werden. Diese sind nur in ihrer eigenen Unterkategorie anwendbar.

  • Um dies zu erreichen, schreiben Sie Option Explicit über die erste Unterkategorie (siehe unten).

Code:

 Option Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Jetzt können wir unsere Variable definieren, die in beiden Unterkategorien verwendet wird. Schreiben Sie nun eine Variable mit dem Namen A als String mit DIM.

Code:

 Option Explicit Dim A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Da wir die Variable definiert haben, befinden sich alle Unterkategorien in diesem Modul. Dies gilt nur für den gesamten Code dieses Moduls. Und wenn wir versuchen, die in diesem Modul definierten Variablen in einem anderen Modul aufzurufen, wird uns der Fehler angezeigt.

Globale VBA-Variablen - Beispiel 2

In diesem Beispiel wird gezeigt, wie mit Global oder Public Word eine Variable in Excel VBA definiert wird. Dafür verwenden wir den Code, den wir in Beispiel-1 gesehen haben.

Wir werden den folgenden Teil des Codes für die Deklaration globaler oder öffentlicher Variablen verwenden.

Code:

 Option Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Wie in Beispiel 1, wo wir die gemeinsame Variable deklariert haben, die in beiden Unterkategorien unterhalb der Option Explicit verwendet werden würde. In diesem Beispiel wird die globale Variable auch unter der Option Explicit deklariert.

Da wir bereits unseren Code bereit haben, können wir Variablen direkt mit Global deklarieren. Nun schreiben Sie in der folgenden Option Explicit Global, wie wir es mit DIM getan haben, und wählen eine Variable Ihrer Wahl aus. Hier wählen wir das Alphabet A wie unten gezeigt.

Code:

 Option Explicit Global A Sub Global_Variable () A als String-End-Sub dimieren Global_Variable6 () B als String-End-Sub dimieren 

Nun wählen wir einen beliebigen Variablentyp aus. Da wir im obigen Beispiel bereits String verwendet haben, würden wir auch hier dasselbe verwenden.

Code:

 Option Explizit Global A Als String Sub Global_Variable () Dim A Als String End Sub Sub Global_Variable6 () Dim B Als String End Sub 

Damit ist unser Deklarationsprozess für globale Variablen abgeschlossen. Jetzt können wir dies in jedem Modul und in jedem Projekt nur als String verwenden. Bevor wir es benutzen, löschen Sie die zuvor deklarierte Variable, dann würde der Code so aussehen wie unten gezeigt.

Code:

 Option Explizites globales A als Zeichenfolge Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Weisen Sie nun der definierten Variablen A in beiden Unterkategorien Text zu. Wir wählen "Test1" und "Test2" für Variable A in beiden Unterkategorien, wie unten gezeigt. Außerdem haben wir MsgBox ausgewählt, um die in Variable A gespeicherten Werte anzuzeigen.

Code:

 Option Explizites globales A als Zeichenfolge Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Führen Sie nun den Code aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken, um das Ergebnis anzuzeigen.

Wir erhalten die Nachricht als "Test1" wie oben gezeigt. Es ist, weil wir unseren Cursor in der ersten Unterkategorie gehalten hatten.

Setzen Sie nun den Cursor irgendwo in die zweite Unterkategorie und führen Sie den Code erneut aus. Wir werden nun das Meldungsfeld mit der Meldung "Test2" erhalten, wie unten gezeigt.

So können wir mit Hilfe von Global einmalig eine Variable erstellen und definieren, die in jedem Modul, jeder Klasse und in jedem Projekt verwendet werden kann. Wir können Public auch anstelle von Global verwenden, wie unten gezeigt. Und dies wird das gleiche Ergebnis liefern, das wir bei der Verwendung von Global erhalten haben.

Code:

 Option Explicit Public A Als String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Vorteile von VBA Global Variable

  • Es spart Zeit bei der Deklaration mehrerer Variablen, wenn wir wissen, dass wir möglicherweise denselben Variablentyp in verschiedenen Modulen oder Unterkategorien erneut definieren müssen.
  • Durch die Verwendung von Global oder Public bei der Definition eines variablen Prozesses wird unser Code zeit- und platzsparender.
  • Dies reduziert die Komplexität beim Schreiben des umfangreichen Codes und kann zu Verwechslungen bei der Verwendung verschiedener Variablen in verschiedenen Modulen oder Unterkategorien führen.

Nachteile von VBA Global Variable

  • Wenn wir Änderungen an der globalen Variablen vornehmen, werden diese Änderungen an allen Stellen implementiert, an denen sie verwendet werden, was das Problem in der Funktionalität des geschriebenen Codes verursacht.

Dinge, an die man sich erinnern sollte

  • Global und Public können austauschbar mit derselben Funktionalität verwendet werden.
  • Wenn wir keine globale Variable verwenden möchten, können wir den in Beispiel 1 gezeigten Prozess zum Definieren der Variablen ausführen. Das wäre aber auf das gleiche Modul beschränkt.
  • Globale Variablen können in jedem Modul, jeder Unterkategorie, jeder Klasse oder in jedem Projekt verwendet werden.
  • Eine globale Variable gibt die Ausgabe des Codes an, an dem wir den Cursor gehalten haben. Es wird nicht der gesamte Code auf einmal ausgeführt und die gesamte Ausgabe nacheinander ausgegeben.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA Global Variables. Hier wird erläutert, wie globale Variablen in Excel mithilfe von VBA-Code deklariert werden, und es werden einige praktische Beispiele sowie eine herunterladbare Excel-Vorlage aufgeführt. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA-Benutzerformular
  2. Lösen Sie die Gleichung in Excel
  3. VBA-Aktivierungsblatt
  4. So bearbeiten Sie Dropdown-Liste in Excel?

Kategorie: