Inhaltsverzeichnis

Datentypen, Variablen und Konstanten

Allgemein

Datentypen definieren, von welcher Art die Daten sind. VBA kennt unterschiedliche Datentypen zum Arbeiten mit ganzen Zahlen, Dezimalzahlen, Zeichenketten, Datumswerten, usw.. Ausserdem kennt VBA den Datentyp Variant, der jeden beliebigen Wert enthalten kann.

Die Angabe eines Datentyps spielt eine Rolle bei der Deklaration von Variablen und Konstanten. Weiters liefert jede Funktion einen Funktionswert (Rückgabewert) von einem bestimmten Datentyp. Auch bei der Angabe von Argumenten, die einer Prozedur übergeben werden, spielen Datentypen eine Rolle.

Variablen

Sie wollen das Ergebnis einer Addition zwischenspeichern, um zu einem späteren Zeitpunkt dieses Ergebnis weiterzuverwenden. Zu diesem Zwecke deklarieren Sie eine Variable, die nichts anderes ist als die Benennung eines Speicherplatzes. Somit können Sie unter dem gewählten Variablennamen den entsprechenden Speicherplatz beschreiben und auslesen.

VBA erlaubt die Verwendung von Variablen ohne vorherige explizite Deklaration. Diese Möglichkeit sollten Sie vermeiden, da dies sehr leicht zu Fehlern (z. B. Tippfehler) führen kann. Um diese Möglichkeit auszuschliessen, setzen Sie an den Beginn jedes Moduls die Anweisung Option Explicit. Aktivieren Sie in den Optionen des VBA-Editors (Extas - Optionen - Registerkarte Editor) die Option Variablendeklaration erforderlich. Dies fügt in jedem weiteren erstellten Modul die Anweisung Option Explicit automatisch hinzu.

Je nach Art und Ort der Variablendeklaration besitzt die Variable einen anderen Gültigkeitsbereich. Folgende Möglichkeiten stehen zur Wahl:

Ort der Deklaration Schlüsselwort Gültigkeitsbereich
Prozedur Dim Innerhalb der Prozedur; nach Beendigung der Prozedur wird die Variable zerstört.
Prozedur Static Innerhalb der Prozedur; nach Beendigung der Prozedur wird die Variable nicht zerstört., der zuletzt gespeicherte Wert bleibt erhalten.
Modul (am Beginn) Dim oder Private Innerhalb des Moduls.
Modul (am Beginn) Public Global gültig.

Bei der Variablendeklaration geben Sie auch den Datentyp an. Folgende Datentypen stehen zur Auswahl:

Datentyp Art Wertebereich
Byte Ganze Zahl 0 bis 255
Integer Ganze Zahl -32.768 bis 32.767
Long Ganze Zahl -2.147.483.648 bis 2.147.483.648
Single Gleitkommazahl -3,402823E38 bis -1,401298E-45 für negative Werte; 1,401298E-45 bis 3,402823E38 für positive Werte
Double Gleitkommazahl -1,79769313486231E308 bis -4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte.
Currency Währung -922.337.203.685.477,5808 bis 922.337.203.685.477,5807
String Zeichenkette 0 bis ca. 2 Milliarden
Boolean Wahrheitswert True oder False
Variant Beliebig Werte jedes beliebigen Datentyps
Object Objekte Beliebiger Verweis auf ein Objekt

Für die Namen von Variablen gelten folgende Regeln:

  • Beginnen mit einem Buchstaben.
  • Keine Leerzeichen, Punkte, Operatoren oder andere Sonderzeichen.
  • Maximal 255 Zeichen lang.
  • Nicht ident mit reservierten Schlüsselwörtern (If, Else, Sub, ...).
  • Eindeutigkeit innerhalb des Gültigkeitsbereichs.

Bei Namen, die sich aus mehreren Wörtern zusammensetzen, empfiehlt sich der sogenannte Camel-Style, d. h. jedes Wort innerhalb des Namens beginnt mit einem Grossbuchstaben.

Nachfolgend ein paar Beispiele für Variablendeklarationen:

'Deklaration von Variablen
Dim meinText As String
Dim eineZahl as Integer
Dim istRichtig as Boolean

Nach der Deklaration besitzt jede Variable einen Standardwert abhängig vom Datentyp. Numerische Variablen enthalten den Wert 0, Stringvariablen enthalten eine leere Zeichenkette und Boolsche Variablen enthalten den Wert False.

Eine Variablendeklaration ohne Angabe des Datentyps weisst der Variable den Datentyp Variant zu. Dieser Datentyp kann zur Laufzeit Werte jeden beliebigen Datentyps annehmen. Verwenden Sie diese Möglichkeit nur in Ausnahmefällen, da die Wertkontrolle durch Angabe des Datentyps der Vermeidung von Programmfehlern dient.

Sie können auch mehrere Variablen in einer Zeile deklarieren. Beachten Sie, dass trotzdem bei jeder Variable der Datentyp angegeben werden muss.

'Deklaration von Variablen in einer Zeile
'i und j als Integer
Dim i As Integer, j As Integer
'a als Variant, b als Integer
Dim a, b As Integer

Konstanten

Konstanten sind im Unterschied zu Variablen unveränderlich. Der Wert der Konstante wird bei der Deklaration angegeben. Zusätzlich empfiehlt sich auch die Angabe des entsprechenden Datentyps.

Je nach Art und Ort der Konstantendeklaration besitzt die Konstante einen anderen Gültigkeitsbereich. Folgende Möglichkeiten stehen zur Wahl:

Ort der Deklaration Schlüsselwort Gültigkeitsbereich
Prozedur Const Innerhalb der Prozedur; nach Beendigung der Prozedur wird die Konstante zerstört.
Modul (am Beginn) Private Const Innerhalb des Moduls.
Modul (am Beginn) Public Const Global gültig.

Nachfolgend ein paar Beispiele für Konstantendeklarationen:

'Deklaration von Konstanten
'Konstante innerhalb einer Prozedur
Const maximalWert As Integer = 10
'Private Konstante am Beginn des Moduls
Private Const meldungsText As String = "Gültig innerhalb des Moduls"
'Globale Konstante am Beginn des Moduls
Public Const appName As String = "Meine Anwendung"

Download Codebeispiele

Die gezeigten Codebeispiele können Sie als xlsm-Datei herunterladen.

Seitenanfang   Inhaltsverzeichnis