Öffentliche Excel VBA-Variable

Variable ist ein wichtiger Teil des Lebens eines Programmierers. Jedes Mal, wenn ein Programmierer codiert, erstellt er eine Reihe von Variablen. Eine Variable kann als Gutschein betrachtet werden, den wir häufig auf Online-Shopping-Sites wie Flipkart, Amazon usw. verwenden. Mit diesem Gutschein können Sie einen bestimmten Rabatt auf bestimmte Produkte festlegen. Gleiches gilt für eine Variable. Eine Variable kann grammatikalisch als Platzhalter definiert werden, der unter einem bestimmten Namen Speicherplatz im System reserviert. Dieser Speicherplatz kann dann jederzeit mit dem gleichen Namen genutzt werden.

Eine VBA-Variable wird unter zwei Umständen als öffentliche Variable betrachtet. Wann -

  • Es kann zusammen mit allen Codes innerhalb eines Moduls verwendet werden.
  • Es kann zusammen mit allen Codes für verschiedene Module verwendet werden.

In Laienbegriffen wird eine Variable als öffentliche Variable betrachtet, wenn sie in jedem Code und in jedem Modul verwendet werden kann. In diesem Artikel werden wir sehen, wie eine Variable definiert werden kann. Wie es in VBA öffentlich definiert werden kann.

Bevor wir mit dem Konzept der öffentlichen VBA-Variablen beginnen, müssen wir verstehen, dass die Variablen, die in einer Unterprozedur verwendet werden, nicht in der anderen Unterprozedur verwendet werden können die für jedes Modul, jede Subprozedur verwendet werden kann).

Angenommen, wir erstellen eine Unterprozedur in einer VBA und definieren dort eine neue Variable mithilfe der Dim-Anweisung.

In diesem Code ist var1 die unter der Subprozedur Ex_Var definierte Variable .

Nun definiere ich eine neue Subprozedur und ironischerweise kann ich in dieser Subprozedur nicht die zuvor definierte var1 verwenden. Siehe den Screenshot unten, in dem ich versuche, var1 unter einer anderen Teilprozedur den Wert 10 zuzuweisen. Siehe auch die Fehlermeldung, nachdem wir den Code ausgeführt haben.

Indem wir Variablen in Unterprozeduren deklarieren, beschränken wir sie darauf, nur von dieser Unterprozedur verwendet zu werden. Es ist ein großer Nachteil, eine Variable innerhalb einer Subprozedur zu deklarieren.

Dies führt zu der neuen Theorie, die die Variablendeklaration außerhalb der Unterprozeduren einschließt. Dies wird dem Programmierer helfen, die definierten Variablen in weiten Grenzen mit unterschiedlichen Unterprozeduren zu verwenden.

Wie deklariere ich öffentliche Variablen in VBA?

Schauen wir uns einige Beispiele an, um öffentliche Variablen in VBA zu deklarieren.

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

Beispiel # 1 - Eine Variable innerhalb eines Moduls öffentlich definieren

Angenommen, wir möchten eine Variable definieren, auf die über alle Codes in einem einzelnen Modul hinweg öffentlich zugegriffen werden kann. Wir können das schaffen. Folgen Sie den unteren Schritten:

Schritt 1: Öffnen Sie Ihren Visual Basic-Editor (VBE), indem Sie Alt + F11 drücken oder in Excel auf der Registerkarte Entwickler auf die Schaltfläche Visual Basic klicken. Wählen Sie die Registerkarte Einfügen, navigieren Sie zu Module und klicken Sie darauf. Es wird ein neues Modul innerhalb der VBE hinzugefügt, an dem gearbeitet werden soll.

Schritt 2: Fügen Sie innerhalb des neu erstellten Moduls den Befehl Option Explicit am Anfang Ihres VBA-Codes hinzu (bevor Sie eine Variable erstellen). Die Option Explicit hilft Ihnen bei Tippfehlern bei der Verwendung der definierten Variablen. Wenn die verwendete Variable nicht im System definiert ist, gibt diese Option eine Fehlermeldung aus, dass die Variable nicht definiert ist.

Code:

 Option explizit 

Schritt 3: Verwenden Sie eine Dim-Anweisung, um eine neue Variable mit dem Namen my_name und dem Datentyp String zu erstellen.

Code:

 Option Explicit Dim mein_name als String 

Wenn Sie darauf achten könnten, haben wir diese Variable explizit definiert. Das heißt, es ist kein Teil einer bestimmten Teilprozedur. Dadurch wird diese Variable automatisch für alle Codes innerhalb des erstellten Moduls (Modul1) verfügbar. Dies wird als öffentliche Definition einer Variablen innerhalb eines Moduls bezeichnet. Diese Variable kann an einer beliebigen Stelle in mehreren Unterprozeduren innerhalb desselben Moduls verwendet werden.

Angenommen, der unten angegebene Code weist der Variablen my_name den Wert "Lalit Salunkhe" zu.

Code:

 Option Explicit Dim mein_name As String Sub Ex_1 () mein_name = "Lalit Salunkhe" MsgBox "Mein Name ist:" & mein_name End Sub 

Wenn ich diesen Code ausführe, wird ein Meldungsfeld angezeigt (siehe Abbildung unten):

Wir können diese Variable auch in verschiedenen Unterprozessen innerhalb desselben Moduls verwenden. Siehe den Screenshot unten:

Code:

 Option Explicit Dim mein_name As String Sub Ex_1 () mein_name = "Lalit Salunkhe" MsgBox "Mein Name ist:" & mein_name End Sub Sub Ex_2 () Dim mein_alter As Integer mein_name = "Lalit Salunkhe" mein_alter = 28 MsgBox " "& my_name &"; Mein Alter ist: "& my_age End Sub 

Siehe den Unterprozess Ex_2. Es wurde eine neue Variable my_age definiert. Ich habe my_name verwendet, um meinen Namen und my_age, um das aktuelle Alter von mir hinzuzufügen. Sie können sehen, dass mein_name in der zweiten Teilprozedur immer noch verfügbar ist. Sobald ich diesen Code ausführe, können wir die Ausgabe als ein Meldungsfeld erhalten, das unten gezeigt wird:

So können wir eine Variable innerhalb eines Moduls öffentlich definieren.

Beispiel # 2 - Eine Variable über alle Module hinweg öffentlich definieren

Um dieses Kunststück zu erreichen, müssen Sie die Schlüsselwörter als "Öffentlich" oder "Global" anstelle von "Dim" verwenden, wodurch die Variable für alle Module, in denen Sie arbeiten, als "Öffentlich" festgelegt wird.

Schritt 1: Erstellen Sie ein neues Modul. Gehen Sie zur Registerkarte Einfügen und klicken Sie auf Modul, um ein neues Modul unter VBE hinzuzufügen.

Schritt 2: Option Explicit innerhalb des Moduls hinzufügen.

Code:

 Option explizit 

Schritt 3: Definieren Sie eine neue Variable mit den Namen var1 und var2 als Typ-Ganzzahl. Aber diesmal mit Public- Anweisung anstelle von Dim (die wir zuvor verwendet haben).

Code:

 Option Explicit Public var1 als Ganzzahl Public var2 als Ganzzahl 

Schritt 4: Jetzt können diese beiden Variablen für mehrere Module verwendet werden, wenn sie unter derselben VBE erstellt werden. Siehe folgendes Beispiel:

Code:

 Option Explicit Public var1 als Ganzzahl Public var2 als Ganzzahl Sub Ex_3 () var1 = 10 var2 = 100 MsgBox "Wert für var1 ist:" & var1 & Chr (13) & "Wert für var2 ist:" & var2 End Sub 

Wir haben die Werte mit einer MsgBox-Funktion beiden Variablen zugewiesen und versucht, Werte für diese beiden Variablen anzuzeigen.

Schritt 5: Führen Sie den Code durch Drücken der Taste F5 oder durch Klicken auf die Wiedergabetaste aus. Eine Ausgabe wird wie folgt angezeigt:

Schritt 6: Wir werden die gleichen Variablen unter Modul1 verwenden, die wir im ersten Beispiel verwendet haben, und versuchen herauszufinden, ob die Variablen dort zugänglich sind oder nicht.

Code:

 Option Explicit Dim mein_name As String Sub Ex_1 () mein_name = "Lalit Salunkhe" MsgBox "Mein Name ist:" & mein_name End Sub Sub Ex_2 () Dim mein_alter As Integer mein_name = "Lalit Salunkhe" mein_alter = 28 MsgBox " "& mein_name &"; Mein Alter ist: "& mein_alter End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Wert für var1 ist: "& var1 & Chr (13) &" Wert für var2 ist: "& var2 End Sub 

Wenn Sie den Screenshot oben sehen konnten, haben wir den gleichen Satz von Variablen verwendet, der unter Modul 2 definiert wurde, und Werte wie 1000 bzw. 999. Wir verwenden die MsgBox-Funktion, um die Werte dieser beiden Variablen darzustellen. Führen Sie den Code aus und Sie können die Ausgabe wie folgt sehen:

Auf diese Weise kann eine Variable innerhalb des Moduls und über die Module hinweg öffentlich verwendet werden.

Dinge, an die man sich erinnern sollte

  • Es wird immer bevorzugt, die Variablen explizit in VBA zu definieren. Damit sie nicht auf die Unterprozedur beschränkt sind, in der sie definiert sind.
  • Sie haben zwei Möglichkeiten, eine öffentliche Variable zuzuweisen: eine innerhalb eines Moduls mit der herkömmlichen Dim-Anweisung und eine zweite innerhalb aller in VBE vorhandenen Module mit der Public-Anweisung oder der Global-Anweisung.

Empfohlene Artikel

Dies ist eine Anleitung zur öffentlichen VBA-Variablen. Hier erfahren Sie, wie Sie eine öffentliche Variable in Excel mit VBA-Code in Excel deklarieren. Außerdem werden praktische Beispiele und eine herunterladbare Excel-Vorlage vorgestellt. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Globale VBA-Variablen
  2. Eine variable Datentabelle in Excel
  3. VBA FileSystemObject (FSO)
  4. Tabelle mit zwei variablen Daten in Excel

Kategorie: