Öffentliche VBA-Variablen - Deklarieren öffentlicher Variablen in VBA (Beispiele)

Inhaltsverzeichnis

Öffentliche Variablen in VBA

"Öffentliche Variablen" in VBA sind, wie der Name schon sagt, Variablen, die für alle Makros, die wir im selben Modul sowie in verschiedenen Modulen schreiben, öffentlich verwendet werden sollen. Wenn die Variablen zu Beginn eines Makros deklariert werden, werden sie als "Öffentliche Variablen" oder "Globale Variablen" bezeichnet.

Wie deklariere ich öffentliche Variablen in VBA?

Normalerweise starten wir die VBA-Unterprozedur und deklarieren innerhalb der Unterprozedur unsere Variablen. Dies ist die übliche Praxis, die wir alle bis zu diesem Artikel gemacht haben.

Jedes Mal, wenn wir eine neue Unterprozedur schreiben, deklarieren wir neue Variablen mit ihnen zugewiesenen Datentypen. Aber heute werden wir uns von sich wiederholenden Variablen über Unterprozeduren hinweg verabschieden.

Erinnern wir uns an den alten Stil. Unten ist der Code, den ich mit einer einzelnen Variablen geschrieben habe.

In der Unterprozedur "Public_Variable" habe ich diese Variable deklariert. Jetzt kann ich keines der anderen Module verwenden.

In der Unterprozedur "Public_Variable1" können wir jetzt nicht die Variable "Var1" verwenden, die in der ersten Unterprozedur "Public_Variable" deklariert wurde. Dies ist die Einschränkung der Deklaration von Variablen innerhalb der Unterprozeduren.

# 1 - Variablen auf Modulebene

Wie wir alle wissen, schreiben wir Makros in Modulen. Wir können eine Reihe von Modulen einfügen. Wir können in VBA zwei Arten von „öffentlichen Variablen“ deklarieren: Zum einen die Variablen für alle Unterprozeduren im selben Modul und zum anderen die Variablen für alle Unterprozeduren in allen Modulen.

Zunächst werden öffentliche Variablen in VBA auf Modulebene deklariert.

Um die Variablen für alle Unterprozeduren im selben Modul zu verwenden, müssen wir die Variablen oben im Modul deklarieren, bevor wir Makros starten.

Unten finden Sie den Beispiel-Screenshot zum besseren Verständnis.

Wie wir im obigen Bild sehen können, habe ich zwei Variablen deklariert, bevor ich ein Makro im Modul starte. Diese beiden Variablen können nun in einer beliebigen Anzahl von Makros in diesem Modul verwendet werden.

Wenn Sie in der Unterprozedur den Variablennamen eingeben, werden in der IntelliSense-Liste Variablennamen angezeigt.

Jetzt können wir diese Variablen in allen Makros verwenden, die wir in „Modul1“ schreiben.

Diese Variablen dürfen nur in diesem Modul verwendet werden. Zum Beispiel werde ich jetzt ein weiteres Modul einfügen und ein neues Makro schreiben.

In Modul2 kann ich die in „Modul1“ deklarierten Variablen nicht verwenden.

Wie können wir diese Variablen in VBA öffentlich machen, damit sie in allen Modulen und in allen Unterprozeduren verwendet werden können?

# 2 - Variablen deklarieren verwenden sie öffentlich

Gehen Sie in diesem Modul zurück zu „Modul1“. Wir haben Variablen deklariert, bevor wir anfangen, den Weg des Makros zu schreiben und auch, in welcher Welt wir diese Variablen deklariert haben.

Unsere traditionelle Art, das Wort „DIM“ zu verwenden, haben wir diese Variablen deklariert.

Wenn wir nur das Wort „DIM“ verwenden, kann es nur für alle Makros verwendet werden, jedoch im selben Modul.

Anstelle des Wortes "DIM" müssen wir entweder "PUBLIC" oder "GLOBAL" verwenden, um sie für alle Makromodule verfügbar zu machen.

Ich habe das Wort "Global" verwendet, um die Variablendeklaration öffentlich zu machen. Sie können auch das Wort "Öffentlich" verwenden.

Mit den Wörtern "Global" und "Public" können wir also Variablen deklarieren, die für alle Makros in verschiedenen Modulen verwendet werden können.

Dinge, an die man sich erinnern sollte

  • Es ist eine gute Praxis, Variablen öffentlich zu deklarieren, benötigt jedoch ausreichend Erfahrung, bevor sie deklariert werden.
  • Sobald die Makros ausgeführt werden, ist der Makrowert der Variablen gleich.
  • Weisen Sie der Variablen innerhalb des jeweiligen Makros nur den bestimmten Wert zu, um Verwirrung zu vermeiden.

Interessante Beiträge...