In der Programmiersprache VBA (Visual Basic for Applications), die in Excel zum Automatisieren von Aufgaben verwendet wird, müssen Sie häufig abhängig vom Wert einer Variablen oder eines Ausdrucks verschiedene Aktionen ausführen. Sie können eine Select Case-Anweisung verwenden, um diese Aufgaben zu lösen.
Mit der Select Case-Anweisung können Sie den Wert einer Variablen oder eines Ausdrucks mit mehreren Variationen von Werten vergleichen und je nach Übereinstimmung bestimmte Aktionen ausführen. Dieses Design ist nützlich, wenn Sie verschiedene Operationen für verschiedene Variablenwerte ausführen müssen.
Die Syntax der Select Case-Anweisung in Excel VBA lautet wie folgt:
Select Case Ausdruck
Sie können dann eine oder mehrere Variationen von Werten angeben, mit denen der Ausdruck verglichen werden soll:
Case wert1Case wert2
Case wert3
.
Case Else
Die Anweisungen, die für jede Wertvariante ausgeführt werden müssen, werden nach jeder Case-Anweisung geschrieben. Wenn der Wert einer Variablen oder eines Ausdrucks mit einem der angegebenen Werte übereinstimmt, werden die Anweisungen nach der entsprechenden Case-Anweisung ausgeführt. Wenn kein Wert übereinstimmt, werden die Anweisungen nach der Case Else-Anweisung ausgeführt (falls angegeben).
Wie verwende ich die Select Case-Funktion
Die grundlegende Syntax der Select Case-Funktion lautet wie folgt:
Select Case expressionCase value1' действия, выполняемые в случае, если expression равно value1Case value2' действия, выполняемые в случае, если expression равно value2Case Else' действия, выполняемые в случае, если ни одно из условий не выполненоEnd Select
Hier ist expression der Ausdruck oder die Variable, deren Wert überprüft werden soll. Value1, value2 usw.d. sind die Werte, mit denen der Vergleich durchgeführt wird.
Das Case Else-Konstrukt ist optional und wird angewendet, wenn keine der Bedingungen mit dem expression-Wert übereinstimmt. Wenn der expression-Wert mit value1 oder value2 übereinstimmt, werden die nach der entsprechenden Case-Anweisung angegebenen Aktionen ausgeführt.
Betrachten Sie ein Beispiel für die Verwendung der Select Case-Funktion, um den Wochentag anhand seiner Nummer zu bestimmen:
Sub DetermineWeekday()Dim weekdayNumber As IntegerweekdayNumber = 3Select Case weekdayNumberCase 1MsgBox "Понедельник"Case 2MsgBox "Вторник"Case 3MsgBox "Среда"Case 4MsgBox "Четверг"Case 5MsgBox "Пятница"Case 6MsgBox "Суббота"Case 7MsgBox "Воскресенье"Case ElseMsgBox "Неверный номер дня недели"End SelectEnd Sub
In diesem Beispiel hat die Variable weekdayNumber den Wert 3, der der Umgebung entspricht. Nach der Ausführung dieses Codes wird ein Meldungsfeld mit dem Text "Umgebung" angezeigt. Wenn die Variable weekdayNumber nicht 1-7 ist, wird ein Meldungsfeld mit dem Text "Die Wochentagsnummer ist ungültig" angezeigt.
Auf diese Weise ermöglicht die Select Case-Funktion eine bequeme und effiziente Verarbeitung verschiedener Variablenwerte oder Ausdrücke in Excel VBA.
Beispiele für die Verwendung der Select Case-Funktion
Beispiel 1:
Sub Example1()Dim score As Integerscore = 90Select Case scoreCase 90 To 100MsgBox "Отлично!"Case 80 To 89MsgBox "Хорошо!"Case 70 To 79MsgBox "Удовлетворительно!"Case ElseMsgBox "Неудовлетворительно!"End SelectEnd Sub
In diesem Beispiel wird abhängig vom Wert der score-Variable eine entsprechende Meldung auf dem Bildschirm angezeigt. Wenn der score 90 oder mehr beträgt, wird die Meldung "Ausgezeichnet!"Wenn der Score zwischen 80 und 89 liegt, wird die Meldung "Ok!"Wenn der score zwischen 70 und 79 liegt, wird die Meldung "Zufriedenstellend!" in allen anderen Fällen wird die Meldung "Unbefriedigend!".
Beispiel 2:
Sub Example2()Dim dayOfWeek As StringdayOfWeek = "Пятница"Select Case dayOfWeekCase "Понедельник", "Вторник", "Среда", "Четверг", "Пятница"MsgBox "Рабочий день"Case "Суббота", "Воскресенье"MsgBox "Выходной день"Case ElseMsgBox "Неверное значение"End SelectEnd Sub
In diesem Beispiel wird abhängig vom Wert der Variablen DayOfWeek eine entsprechende Meldung auf dem Bildschirm angezeigt. Wenn DayOfWeek Montag, Dienstag, Mittwoch, Donnerstag oder Freitag ist, wird "Arbeitstag" angezeigt, wenn DayOfWeek Samstag oder Sonntag ist, wird "Ruhetag" angezeigt, und in allen anderen Fällen wird "Falscher Wert" angezeigt.
Beispiel 3:
Sub Example3()Dim grade As Stringgrade = "A"Select Case gradeCase "A", "B"MsgBox "Отлично!"Case "C", "D"MsgBox "Хорошо!"Case "E", "F"MsgBox "Удовлетворительно!"Case ElseMsgBox "Неудовлетворительно!"End SelectEnd Sub
In diesem Beispiel wird abhängig vom Wert der Variable grade eine entsprechende Meldung auf dem Bildschirm angezeigt. Wenn grade "A" oder "B" ist, wird die Meldung "Ausgezeichnet!" wenn grade gleich "C" oder "D" ist, wird die Meldung "OK!"wenn grade gleich "E" oder "F" ist, wird die Meldung "Zufriedenstellend!" in allen anderen Fällen wird die Meldung "Unbefriedigend!".