VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Select Case-Anweisung

Führt eine von mehreren Gruppen von Anweisungen aus, abhängig vom Wert eines Ausdrucks.

Syntax

Select Case Testausdruck
[Case Ausdrucksliste-n
[Anweisungen-n]] ...
[Case Else
[elseAnw]]

End Select

Die Syntax der Select Case-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Testausdruck Erforderlich. Ein beliebiger numerischer Ausdruck oder Zeichenfolgenausdruck.
Ausdrucksliste-n Erforderlich, wenn der Case-Abschnitt verwendet wird. Eine durch Kommas getrennte Liste in einer oder mehreren der folgenden Formen: Ausdruck, Ausdruck To Ausdruck, Is Vergleichsoperator Ausdruck. Das Schlüsselwort To gibt einen Bereich von Werten an. Bei diesem Schlüsselwort muß der kleinere Wert immer links von To stehen. Verwenden Sie das Schlüsselwort Is in Kombination mit Vergleichsoperatoren (außer Is und Like), um einen Bereich von Werten anzugeben. Wenn Sie das Schlüsselwort Is nicht angeben, wird es automatisch eingefügt.
Anweisungen-n Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn Testausdruck mit irgendeinem Teil in Ausdrucksliste-n übereinstimmt.
elseAnw Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn Testausdruck mit keinem der Ausdrücke im Case-Abschnitt übereinstimmt.

Bemerkungen

Wenn Testausdruck mit irgendeinem der Case-Ausdrücke in der Ausdrucksliste übereinstimmt, werden die Anweisungen dieses Case-Abschnitts bis zum nächsten Case-Abschnitt (oder beim letzten Case-Abschnitt bis zu End Select) ausgeführt. Anschließend setzt das Programm die Ausführung mit der Anweisung im Anschluß an End Select fort. Wenn Testausdruck mit einer Ausdrucksliste-Anweisung in mehreren Case-Abschnitt übereinstimmt, werden nur die Anweisungen nach der ersten Übereinstimmung ausgeführt.

Die elseAnw-Anweisungen im Case Else-Abschnitt werden ausgeführt, wenn keine Übereinstimmung zwischen Testausdruck und einer Ausdrucksliste in einer der anderen Case-Abschnitte gefunden wird. Die Case Else-Anweisung ist optional, sollte aber in keinem Select Case-Block fehlen, damit unvorhergesehene Werte von Testausdruck verarbeitet werden können. Wenn keine Case Else-Anweisung angeben ist und keine Case-Ausdrucksliste mit Testausdruck übereinstimmt, setzt das Programm die Ausführung mit der Anweisung im Anschluß an End Select fort.

Sie können in jedem Case-Abschnitt mehrere Ausdrücke oder Bereiche verwenden, wie zum Beispiel in der folgenden Zeile:

Case 1 To 4, 7 To 9, 11, 13, Is > Maximalwert

Anmerkung°°°Verwechseln Sie den Vergleichsoperator Is nicht mit dem Schlüsselwort Is, das in der Select Case-Anweisung Verwendung findet.

Sie können auch mehrere Ausdrücke für Zeichenfolgen angeben. Im folgenden Beispiel werden die Anweisungen des Case-Abschnitts ausgeführt, wenn eine Zeichenfolge genau mit Alles übereinstimmt, alphabetisch zwischen Nüsse und Suppe liegt oder dem akuellen Wert von TestElement entspricht:

Case "Alles", "Nüsse" To "Suppe", TestElement

Select Case-Anweisungen können in sich verschachtelt sein. Jede verschachtelte Select Case-Anweisung muß eine zugehörige End Select-Anweisung besitzen.