Select Case Verzweigung in Excel VBA
In diesem Tutorial zeige ich Euch wie Ihr die Select Case Verzweigung in Eurem Code anwenden könnt. Die Select Case Anweisung ist in meinen Augen eine Verzweigung die sehr aufgeräumt wirkt und bei mehreren Bedingungen auch übersichtlicher. Das ist natürlich nur meine Meinung aber schaut mal selbst.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
Beispielscript mit der Select Case Verzweigung in Excel VBA
Im nachfolgenden Excel VBA Script zeige ich Euch wie solch eine Select Case Verzweigung aufgebaut ist.
Ich lese hierfür die Zelle A1 vorher aus und weise den Inhalt der Variablen ZahleAusZelleA1 zu. Im Select Case Block wird diese dann überprüft.
Case 1 bedeutet dass überprüft werden soll ob der Inhalt der Zelle eine 1 ist. Also nicht denken dass es sich um den Fall mit der Nummer 1 handelt. Hier hätte auch Text oder sonst was stehen können. Nach Case steht also nur die Bedingung, die in diesem Beispiel im ersten Fall eine 1 sein muss damit dieser Block ausgeführt wird.
Es wird übrigens immer nur maximal ein einziger Block ausgeführt. Sollte eine Bedingung erfüllt sein, wird genau dieser Block ausgeführt und anschließend die gesamte Select Case Verzweigung verlassen.
Wie Ihr seht habe ich einzelne Zahlen benutzt aber auch mehrere Zahlen mit Kommas getrennt. Auch Bereiche in der Form 11 To 20 sind möglich und erlauben wie in diesem Beispiel Zahlen von 11 bis 20. Text muss natürlich wie üblich in Anführungszeichen stehen aber auch den könnt Ihr mit Komma trennen.
Falls keines der Case Fälle zutrifft und Ihr einen Case Else Block verwendet, wird dieser auf jeden Fall ausgeführt wenn keine der vorherigen Bedingungen erfüllt wurde.
Sub SelectCaseTutorial() ZahlAusZelleA1 = Range("A1").Value Select Case ZahlAusZelleA1 Case 1 Range("B1").Value = "Zahl 1" Case 3, 5, 7, 9 Range("B1").Value = "Zahl 3, 5, 7 oder 9" Case 11 To 20 Range("B1").Value = "Zahl Zwischen 11 und 20" Case "Zwei" Range("B1").Value = "Zwei " Case "Drei", "Vier", "Fünf", "Sechs" Range("B1").Value = "Drei, Vier, Fünf oder Sechs" Case Else Range("B1").Value = "Nicht in Select Case festgelegt" End Select End Sub
Das könnte Dich auch interessieren
- Auf Zellen zugreifen mit Cells in Excel VBA
- Do Loop Schleife in Excel VBA
- Eine eigene Funktion erstellen ganz einfach (Excel)
- Excel VBA Module schneller hinzufügen
- For Each Schleife in Excel VBA
- Gefüllte Zellen markieren mit und ohne Lücken in Excel VBA
- Gültigkeitsbereich von Variablen in Excel VBA
- Hello World mit Excel VBA programmieren