Ein VBA-Programm in Excel
Ein VBA-Programm in Excel
Ein VBA-Programm in Excel
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Möchte man e<strong>in</strong>en array anlegen, so geschieht das ebenfalls mit Dim,<br />
gefolgt von dem Variablennamen und anschließender Klammerung ().<br />
Damit lässt man sich aber die Dimensionierung und die Länge des<br />
arrays noch offen.<br />
Beispiele:<br />
Dim Zahl1 As Integer 'Integer-Variable namens Zahl<br />
Const Zahl2 = 10 'Speicherplatz Zahl2 mit festem Wert 10<br />
Dim Zahl() As Integer 'Integer-array ohne Dimension und ohne Länge<br />
Es gibt drei mögliche Gültigkeitsbereiche für e<strong>in</strong>e Variable:<br />
a) Wird die Variable nur <strong>in</strong>nerhalb e<strong>in</strong>er Prozedur benötigt, handelt es<br />
sich um e<strong>in</strong>e lokale Variable. Die Deklaration steht dann am Anfang<br />
e<strong>in</strong>er Prozedur.<br />
Sub Test()<br />
Dim Me<strong>in</strong>eVariable As Long<br />
gültig<br />
Anweisung<br />
...<br />
Anweisung<br />
End Sub<br />
'Me<strong>in</strong>eVariable ist nur <strong>in</strong>nerhalb der Prozedur Test()<br />
b) Wird die Variable <strong>in</strong> mehreren Prozeduren e<strong>in</strong>es Moduls benötigt, so<br />
muss sie als globale Variable am Anfang des Moduls deklariert werden<br />
mit Dim oder Private als Anweisung. Unter dem Begriff "Modul"<br />
muss man sich e<strong>in</strong>fach e<strong>in</strong>en Conta<strong>in</strong>er vorstellen, der Quellcode<br />
enthält – der Code muss ja schließlich irgendwo untergebracht se<strong>in</strong>. Je<br />
nachdem, wofür so e<strong>in</strong> Modul genutzt wird, wird unterschieden z.B.<br />
zwischen e<strong>in</strong>em Modul für Userformen (siehe 2.5.1 Eigene Dialoge entwerfen<br />
und programmieren) oder e<strong>in</strong>em Modul für e<strong>in</strong> Tabellenblatt<br />
(siehe 2.5 Der Kern des <strong>Programm</strong>s: die Auslosung) oder e<strong>in</strong>em Modul<br />
für die Ereignissteuerung (siehe 2.4 Ereignisse <strong>in</strong> VBE) oder ...<br />
Dim Me<strong>in</strong>eVariable As Long 'Me<strong>in</strong>eVariable ist auf Modulebene gültig<br />
Private Me<strong>in</strong>eVariable1 As Long 'ebenso Me<strong>in</strong>eVariable1<br />
Sub Test()<br />
Anweisung<br />
...<br />
Anweisung<br />
End Sub<br />
c) Soll die Variable auch <strong>in</strong> anderen Modulen des Projektes Gültigkeit<br />
haben, muss sie als öffentliche Variable mit Public deklariert werden.<br />
Public Me<strong>in</strong>eVariable As Long 'Me<strong>in</strong>eVariable ist im ganzen Projekt gültig<br />
Sub Test()<br />
Anweisung<br />
...<br />
Anweisung<br />
End Sub<br />
7