Variablen sind Platzhalter, die im Code stehen und entweder Daten oder Objekte enthalten können, die dynamisch gefüllt werden. Das hat natürlich große Vorteile, da man flexibel ist, und der Code dynamisch auf veränderte Werte reagieren kann.
Alle Variablen müssen im Code deklariert werden. Dies kann innerhalb von Modulen oder Funktionen erfolgen - aber auch außerhalb. Zu diesem Zeitpunkt wird bereits festgelegt, wie die Lebensdauer der Variablen ist.
Variablen können nur in der Prozedur, im Modul oder im gesamten Projekt bzw. sogar während einer gesamten Wordsitzung (solange Word geöffnet ist) verfügbar sein.
Zur Deklaration gibt es folgende Möglichkeiten, es wird jeweils die Lebensdauer der Variablen - je nach Deklaration - angegeben:
Anweisung |
in Prozeduren |
in Funktionen |
in Module |
in Klassenmodule |
Dim |
in der Prozedur |
in der Funktion |
im Modul |
im Klassenmodul |
Private |
im Modul |
im Modul |
im Modul |
im Klassenmodul |
Public |
im Projekt |
im Projekt |
im Projekt |
im Projekt |
Static |
im Modul |
im Modul |
--- |
--- |
Type |
--- |
--- |
wird mit Private, Public, Dim benutzt
Lebensdauer wie oben angegeben |
|
ReDim
(für Array) |
in der Prozedur |
in der Funktion |
--- |
--- |
In der Tabelle wird für jede Anweisung, je nachdem wo sie eingesetzt wird, die Lebensdauer des Inhalts der Variablen angegeben. Die Anweisungen Private, Public und Static können auch ergänzend für Prozeduren und Funktionen selbst benutzt werden.
Sie sollten in jedem Modul oder Klassenmodul die Deklaration der Variablen immer mit der Zeile Option Explicit beginnen. Damit wird eine Deklaration von Variablen erzwungen. Die Zeile steht immer außerhalb einer Prozedur oder Funktion. Haben Sie in den Optionen im VBA Editor bereits Variablendeklaration erforderlich aktiviert, wird die Zeile automatisch eingefügt. |
Beispiele für Deklarationen und Lebensdauer von Variablen:
Folgende Variablen sind im gesamten Modul verfügbar: strSchulfach, strMathe, intSechs, strSchule
Folgende Variablen sind auch im ganzen Projekt verfügbar: strSchule
Folgende Variable ist nur in der Prozedur MeineSchule verfügbar: strMeinFach
Zusätzlich ist hier eine Besonderheit: Die Variable intSechs in Zeile 6 wurde mit einem konstanten Wert deklariert und steht auch im ganzen Modul mit diesem Wert zur Verfügung.
In diesem Beispiel wird der Klasse weitere Variablen zugewiesen (Zeile 3 - 8), damit diese dann in der Prozedur weiter gefüllt werden können. Die Variable Klasse steht im ganzen Projekt mit den dann gefüllten Werten zur Verfügung.