Visual Basic for Applications Grundlagen: Variablen

Variablen sind Zeichen oder Zeichenfolgen die für ein beliebiges Element ihrer, durch den Datentyp festgelegten, Klassifizierung stehen. Bei der Namensgebung von Variablen sind einige Regeln zu beachten:

Der Variablenname muß mit einem Buchstaben beginnen.

Der Name darf nur aus Buchstaben, Zahlen und dem Unterstreichungsstrich (_) bestehen. Andere Zeichen wie Symbole, Leer oder Interpunktionszeichen sind nicht erlaubt.

Der Name darf auch nicht aus einem reservierten Wort bestehen. Reservierte Wörter sind zum Beispiel alle von Visual Basic for Applications verwendete Schlüsselwörter wie If oder For, ihnen wurde ja bereits eine Bedeutung zugewiesen.

Der Name der Variablen darf 200 Zeichen nicht überschreiten.

Damit sind die Konventionen für die Namensgebung festgelegt. Ein weiterer wichtiger Punkt im Zusammenhang mit Variablen ist der Datentyp den eine Variable annehmen kann. Die einzelnen Datentypen sind mit ihren Wertebereichen in der folgenden Tabelle zusammengefaßt:

Datentyp           Typenkennzeichen                       Speicherbedarf      Wertebereich

Byte                      keines                     1 Byte                   Ganze Zahl im Bereich von 0 bis 255

Integer                   %                            2 Byte                   Ganze Zahl im Bereich von -32.768 bis 32.767

Long                     &                             4 Byte                   Ganze Zahl im Bereich von -2.147.483.648 bis 2.147.483.647

Single                   !                              4 Byte                   Reelle Zahlen im Bereich von -3,4028223E38 bis –1,401298E-45 für neagative Werte und 1,401298E-45 bis 3,4028223E38 für positive Werte

Double                  #                             8 Byte                   Reelle Zahlen im Bereich von –1,79769313486232E308 bis –4,94065645841247E-324 für negative Zahlen und 4,94065645841247E-324 bis 1,79769313486232E308 für positive Zahlen

Currency               @                            8 Byte                   Festkommazahl im Bereich von –922.337.203.685.477,5808 bis 922. 337.203.685.477,5807

String                    keines                     max. 65.535           Alle Zeichen des Systems

Boolean                 keines                     2 Byte                   True und False

Date                      keines                                 Datum des Fomats 01.01.97

Variablen deklarieren

Sie können Variablen erst dann verwenden, wenn dem System die Variable bekannt gemacht wird. Diesen Vorgang bezeichnet man als deklarieren, genauer als explizite Deklaration, da Sie die Variable vor Verwendung im Programm eindeutig festlegen. Sie können bei der Deklaration auch festlegen, welchen Datentyp die Variable annehmen soll. Damit steht dann auch fest wieviel Speicher eine Variable belegt und wie groß der Wertebereich ist. Das Format für die Deklaration sieht folgendermaßen aus:

Dim <Variablenname> As <Datentyp>

Einige Beispiele für die Deklaration von Variablen

Dim Gehalt As Currency

Dim Zähler As Integer

Dim Wahrheit As Boolean

Dim Stadt As String

Dim Länderkennzeichen As String * 3

Im letzten Beispiel wird die Variable Länderkennzeichen auf drei Zeichen beschränkt. Das ist hier besonders sinnvoll, da es keine Länderkennzeichen gibt die mehr als drei Zeichen besitzen. Der Befehl Dim erfüllt aber noch eine weitere Aufgabe, er weist der Variablen einen Standardinhalt zu. Bei Strings ist dies eine leere Zeichenfolge.

Bei der Zuweisung von Variablen mit einem neuen Wert ist besonders darauf zu achten, daß die Variable den Wert auch aufnehmen kann. Es müssen dazu die Datentypen des Ausdrucks und der Variablen übereinstimmen. Die Syntax für eine solche Zuweisung sieht folgendermaßen aus:

<Variablenname> = <Ausdruck>

Wir wenden uns nun einem Beispiel zu, das diesen Sachverhalt etwas näher bringen soll. Dabei wird über den Befehl InputBox ein Dialogfeld auf dem Bildschirm geöffnet. Hier geben Sie dann einen Text ein. Nachdem das Fenster über die Schaltfläche OK geschlossen wurde, wird der Text in einem Nachrichtenfenster mit dem Namen VBA-BEISPIEL ausgegeben und zwar mehrzeilig.

Sub EingabeText()

‚ Texteingabe über die InputBox

Dim Eingabe As String

Eingabe = InputBox(„Geben Sie einen kurzen Text ein!“)

MsgBox „Ihre Texteingabe lautet: “ & vbCrLf & vbCrLf & Eingabe, vbInformation, „VBA-Beispiel“

End Sub

Eingabe eines Textes über die InputBox und die formatierte Ausgabe über den Befehl MsgBox.

Im Eingabefeld können Sie einen Text eingeben. Dieser kann auch Zahlen oder Sonderzeichen enthalten.

Der Befehl InputBox gibt den eingegebenen Text an die Variable Eingabe weiter. Diese wiederum übergibt ihren Inhalt dem Befehl MsgBox. Der Befehl MsgBox schließlich stellt den eingegebenen Text in der zweiten Textzeile dar, da die einzelnen Textzeilen durch den Parameter vbCrLf getrennt sind. Die Variable Eingabe wurde vorher über die Dim-Anweisung für die Aufnahme von Texten vorbereitet.

Das Ergebnis ist die Ausgabe des eingegebenen Texts in der zweiten Zeile des Nachrichtenfensters.

Gültigkeitsbereich von Variablen

Die bisherigen Beispiele zeigten Variablen nur in Prozeduren. Die Variablen wurden am Anfang der Prozedur deklariert und im weiteren Prozedurablauf verwendet. Variablen die so deklariert werden nennt man lokale Variablen. Sie können nur innerhalb der durch Sub und End Sub definierten Prozedur verwendet werden. In anderen Prozeduren sind diese Variablen dann nicht mehr sichtbar und können somit dort auch nicht verwendet werden.

Der Gültigkeitsbereich einer lokal deklarierten Variable beginnt mit ihrer Deklaration und endet mit dem Verlassen der Prozedur. Der Inhalt lokaler Variablen kann nicht über das Verlassen einer Prozedur hinaus verwendet werden. Bei erneutem Eintritt des Programms in die Prozedur wird die Variable wieder neu deklariert und mit einem Standardwert gefüllt.

Den Gültigkeitsbereich einer Variablen können Sie über die Anweisung Static über das Ende einer Prozedur hinaus ausdehnen. Das Schlüsselwort Static wird bei der Deklaration angegeben. Beim Verlassen der Prozedur wird der Inhalt der so deklarierten Variablen nicht gelöscht, sondern aufbewahrt. Bei erneutem Eintritt in die Prozedur steht der vorherige Inhalt der Variablen wieder zur Verfügung. Die Deklaration hat das folgende Format:

Static EineVariable As Double

Eine als Static deklarierte Variable lebt zwar über das Verlassen der Prozedur hinaus, kann aber nur innerhalb der Prozedur verwendet werden. Möchten Sie die Variable innerhalb eines Moduls auch für andere Prozeduren sichtbar machen, dann müssen Sie die Variable am Modulanfang mit dem Schlüsselwort Private deklarieren.

So deklarierte Variable nennt man globale Variablen. Sie werden im Deklarationsbereich eines Moduls angegeben und können dann von allen in diesem Modul definierten Prozeduren und Funktionen verwendet werden. Der Deklarationsbereich eines Moduls befindet sich am Modulanfang.

Die Gültigkeit einer Variablen kann aber auch auf das gesamte Programm – also über alle Programm-Module hinweg – ausgedehnt werden. Dazu deklarieren Sie die Variable am Modulanfang lediglich alsPublic. Sie kann dann auch von anderen Prozeduren in anderen Modulen verwendet werden. Einige Beispiele für die Variablendeklaration.

Private EinText As String

Public NochEinText As String

Die Gültigkeitsbereich von Variablen innerhalb eines Programms ist mit dem von Prozeduren und Funktionen nicht nur vergleichbar, sondern auch absolut identisch.


Die mobile Version verlassen