Effektives Verwalten von Variablen, Konstanten und Enumerationen in VBA für Anfänger

Scope

Dies bezieht sich auf den Teil des Codes, in dem Variablen verwendet werden können. Es gibt verschiedene Arten von Bereichen:

  • Local Scope: Variablen, die in einer Prozedur deklariert sind, sind nur in dieser Prozedur zugänglich.
  • Module Scope: Variablen, die am Anfang des Moduls als privat deklariert sind, sind für alle Prozeduren im Modul zugänglich.
  • Global Scope: Auf Variablen, die als Public deklariert sind, kann von jeder Prozedur in einem VBA-Projekt aus zugegriffen werden.

Lifetime

Sie bezieht sich darauf, wie lange eine Variable während der Ausführung des Programms im Speicher verbleibt.

  • Lokale Variablen existieren nur für die Dauer der Prozedur und verschwinden, sobald die Prozedur abgeschlossen ist.
  • Die globale Variable (die als Public deklariert ist) existiert so lange, wie die App ausgeführt wird, und bleibt bestehen, bis die App geschlossen wird.

Arbeiten mit Konstanten

Eine Konstante ist ein Wert, der fest ist und sich während des Programms nicht ändert. Im Gegensatz zu Variablen, deren Werte sich jederzeit ändern können, haben Konstanten im gesamten Programm immer den gleichen Wert. Konstanten sind sehr nützlich zum Speichern fester und unveränderlicher Werte, z. B. Pi-Werte ($$\pi$$), Höchstgrenzen oder feste Nachrichten.

Unterschied zwischen Variable und Konstante

Variable: Der Wert kann während des Programms geändert werden. Beispiel:

Dim userAge As Integer
userAge =25 ' Value can be changed
userAge =  30 ' Value can be changed

Konstante: Der Wert kann nach der Deklaration nicht mehr geändert werden. Beispiel:

Const MAX_USERS As Integer = 10 ' Value cannot be changed

Die Verwendung von Konstanten kann die Lesbarkeit des Codes verbessern und die Wahrscheinlichkeit von Fehlern verringern, da Programmierer sich keine Gedanken über versehentliche Wertänderungen machen müssen.

Deklarieren von Konstanten

Um eine Konstante in VBA zu deklarieren, verwenden Sie the keyword Const, gefolgt vom Namen der Konstante, dem Datentyp und dem Wert, den Sie festlegen möchten. Hier ist ein Beispiel für die Deklaration einer Konstante:

Const PI As Double = 3.14159 ' Declares PI constant
Const WELCOME_MESSAGE As String = “Welcome!” ' Declares welcome message constant

Nach der Deklaration können Sie diese Konstante in Ihrem Code wie eine reguläre Variable verwenden, aber der Wert kann nicht geändert werden:

Integrierte und benutzerdefinierte Konstanten

VBA verfügt über viele integrierte Konstanten, die beim Schreiben von Code hilfreich sind. Diese Konstanten waren bereits vorhanden und werden häufig verwendet, um vorhandene Eigenschaften, Methoden oder Funktionen zu regulieren.

1. Konstanten für MsgBox:

  • vbOKOnly: Zeigt nur die Schaltfläche “OK” an.
  • vbYesNo: Zeigt die Schaltflächen “Ja” und “Nein” an.
  • vbInformation: Zeigt das Informationssymbol an.

Anwendungsbeispiele:

Sub ShowMessage()
    MsgBox “Do you want to continue?”, vbYesNo  + vbInformation, “Confirm”
End Sub

2. Konstanten für die Ausrichtung:

  • xlCenter: Richtet den Text in der Mitte aus.
  • xlLeft: Richtet den Text links aus.
  • xlRight: Richtet den Text rechts aus.

Anwendungsbeispiele:

Sub SetAlignment()
    Dim ws As Worksheet
    Set ws   = ThisWorkbook.Sheets(1)

    Ws. Cells(1, 1). Value = “Welcome”
    Ws. Cells(1, 1). HorizontalAlignment = xlCenter
End Sub

3. Konstanten für Farbe:

  • vbRed: Rot.
  • vbGreen: Grün.
  • vbBlue: Blau.

Anwendungsbeispiele:

Sub ShowColor()
    Dim ws As Worksheet
    Set ws   = ThisWorkbook.Sheets(1)

    Ws. Cells(1,  1). Value = “Red Color”
    Ws. Cells(1, 1). Font.Color =vbRed
End Sub

Neueste Artikel