Zum Hauptinhalt springen

Beschreibung von Select Case in VBA Excel: Beispiele und Anwendungsmerkmale

In der Programmiersprache VBA (Visual Basic for Applications) wird häufig die bedingte Select Case-Anweisung verwendet, um mit Zellen und Daten in Excel-Tabellen zu arbeiten. Es ermöglicht Ihnen, den Wert einer Variablen mit mehreren alternativen Werten zu vergleichen und bestimmte Aktionen basierend auf der Übereinstimmung durchzuführen.

Einer der Hauptvorteile von Select Case ist seine Flexibilität. Es kann verwendet werden, um den Wert einer numerischen Variablen und einer Zeichenfolgenvariablen zu überprüfen. Dies ermöglicht es, verschiedene Programmieraufgaben zu vereinfachen und zu beschleunigen.

Die Syntax der Select Case-Anweisung lautet wie folgt:

Select Case Ausdruck

Case wert1

'zu ausführender Codeblock, wenn der Ausdruck gleich dem Wert 1 ist

Case wert2

'zu ausführender Codeblock, wenn der Ausdruck gleich dem Wert 2 ist

Case wert3

'zu ausführender Codeblock, wenn der Ausdruck gleich dem Wert 3 ist

Case Else

'zu ausführender Codeblock, wenn der Ausdruck keinem der vorherigen Werte entspricht

End Select

Beispiel für die Verwendung von Select Case:

Beschreibung und Anwendung von Select Case in VBA Excel

Die Select Case-Syntax lautet wie folgt:

Select Case выражениеCase значение1' Код, который будет выполнен, если выражение равно значению1Case значение2' Код, который будет выполнен, если выражение равно значению2Case Else' Код, который будет выполнен, если выражение не равно ни одному из указанных значенийEnd Select

Ein Ausdruck ist eine Variable oder ein Ausdruck, der mit den angegebenen Werten verglichen wird. Wert1, Wert2 usw. sind die möglichen Werte, mit denen der Vergleich durchgeführt werden soll.

Der Vorteil der Verwendung von Select Case besteht darin, dass Sie die logische Struktur des Codes mit vielen Optionen organisieren können, wodurch sie verständlicher und leichter zu lesen ist. Außerdem können Codeblöcke für jeden Fall von beliebiger Komplexität sein und sowohl eine einzelne Aktion als auch mehrere Codezeilen enthalten.

Es ist wichtig zu beachten, dass Sie nicht nur bestimmte Werte, sondern auch Wertebereiche, Vergleichsoperatoren und sogar boolesche Ausdrücke in einer Case-Klausel verwenden können.

Beispiel für die Verwendung von Select Case in VBA Excel:

Sub Example()Dim day As Stringday = "понедельник"Select Case dayCase "понедельник", "вторник", "среда", "четверг", "пятница"MsgBox "Рабочий день"Case "суббота", "воскресенье"MsgBox "Выходной"Case ElseMsgBox "Некорректное значение дня недели"End SelectEnd Sub

In diesem Beispiel wird abhängig vom Wert der Variablen day eine entsprechende Meldung in der Benachrichtigung angezeigt. Wenn der Wert der Variablen einem der Arbeitstage entspricht, wird die Meldung "Arbeitstag" angezeigt. Wenn der Wert mit den Wochenenden übereinstimmt, wird die Meldung "Ausgabe" angezeigt. Wenn der Wert keinem der angegebenen Fälle entspricht, wird die Meldung "Ungültiger Wochentagswert" angezeigt.

Abschließend ist Select Case ein leistungsfähiges Werkzeug in VBA Excel, mit dem Sie die bedingte Codeausführung basierend auf den Werten von Variablen oder Ausdrücken effizient organisieren können. Es vereinfacht das Schreiben von Code und macht ihn strukturierter, was seine Lesbarkeit und Wartbarkeit verbessert.

Beispiele für die Verwendung von Select Case in VBA Excel für verschiedene Aufgaben

Die Select Case-Struktur in Excel VBA bietet die Möglichkeit, abhängig vom Wert einer Variablen oder eines Ausdrucks verschiedene Operationen auszuführen. Betrachten Sie einige Beispiele, die die Verwendung von Select Case für verschiedene Aufgaben veranschaulichen.

Beispiel 1: Berechnung des Auftragswerts

Angenommen, wir haben eine Tabelle mit Auftragsdaten in Excel. Eine der Spalten ist die Spalte "Bestelltyp", in der der Typ jeder Bestellung angegeben ist: "Standard", "Priorität" oder "Express". Wir müssen die Kosten für jede Bestellung basierend auf ihrer Art berechnen.

BestellartWert
1Standard
2Vorrangig
3Expreß

Sie können Select Case folgendermaßen verwenden, um dieses Problem zu lösen:

Sub Berechnen Sie die Bestellkosten() Dim Bestelltyp As String Dim Kosten As Double ' Durchlaufen aller Tabellenzeilen For i = 2 To Range("A" & Rows.Count).End(xlUp).Row Typbestellung = Range("B" & i).Value ' Berechnung der Kosten je nach Bestelltyp Select Case Bestelltyp Case "Standard" Kosten = 100 Case "Priorität" Kosten = 200 Case "Express" Kosten = 300 Case Else Kosten = 0 End Select ' Schreibt die Kosten in die Range-Tabelle("C" & i).Value = Kosten Next i End Sub

In diesem Beispiel legen wir den Wert der Variablen Bestelltyp fest, lesen ihn aus der Tabelle aus und legen abhängig von seinem Wert den Bestellwert fest. Wenn der Wert der Variablen keiner der angegebenen Optionen entspricht, werden die Kosten standardmäßig auf 0 festgelegt.

Beispiel 2: Definieren der Jahreszeit

Stellen Sie sich vor, wir haben eine Reihe von Daten in Excel und wir möchten herausfinden, für welche Jahreszeit jedes Datum gilt: Frühling, Sommer, Herbst oder Winter.

DatumSaison
01.03.2025
15.07.2025
10.10.2025
25.12.2025

Sie können Select Case folgendermaßen verwenden, um dieses Problem zu lösen:

Sub Definierensaison() Dim Datum As Date Dim Saison As String ' Durchlaufen aller Tabellenzeilen For i = 2 To Range("A" & Rows.Count).End(xlUp).Row Date = Range("A" & i).Value ' Bestimmung der Saison je nach Monat Datum Select Case Month(Datum) Case 12, 1, 2 Saison = Winter Case 3 To 5 Saison = Frühling Case 6 To 8 Saison = Sommer Case 9 To 11 Saison = Herbst Case Else Saison = "" End Select ' Schreibt die Saison in die Range-Tabelle("B" & i).Value = Saison Next i End Sub

In diesem Beispiel erhalten wir den Wert der Variablen Datum aus einer Tabelle und definieren dann mit der Funktion Month den Monat des Datums. Als nächstes legen wir abhängig vom Monat den Wert der Variablen Saison fest und schreiben ihn in eine Tabelle. Wenn der Monatswert nicht mit den angegebenen Optionen übereinstimmt, ist der Wert für die Variable Saison leer.

Daher ist die Select Case-Struktur sehr praktisch, um verschiedene Aufgaben in VBA Excel zu lösen. Anstelle von langen Ketten bedingter If-Then-Else-Anweisungen bietet es eine kompaktere und intuitivere Möglichkeit, den Programmablauf zu steuern.