Višestruko grananje

Ponekad je potrebno da ispitamo uslov pa da, u zavisnosti od ishoda, ponudimo više alternativnih akcija. U tom slučaju koristi se struktura Select-Case za višestruko grananje. Ona radi na taj način što joj se prosledi neki parametar, a u zavisnosti od njegove vrednosti izvršavaju se različiti delovi programa. Ako se vrednost parametra razlikuje od svih ponuđenih alternativa izvršava se deo koda koji se nalazi iza Else naredbe.

Sintaksa Select-Case strukture je:

Select [ Case ] <izraz>
{Case <vrednost>
[IZVRŠNI KOD]}
[Case Else
[ALTERNATIVNI KOD]]
End Select   

Zamislite da treba da proverimo ocenu na osnovu rezultata testa. Potrebno je da napišemo program u kome se najpre unosi ocena, a zatim pomoću Select-Case strukture poredimo unesenu ocenu sa brojem bodova i vraćamo odgovarajuću poruku:

Dim ocena As Integer, poruka As String
ocena = InputBox(„Unesite ocenu“)
Select Case ocena
    Case Is >= 90
        poruka = „Odličan“
    Case Is >= 80
        poruka = „Vrlo dobar“
    Case Is >= 70
        poruka = „Dobar“
    Case Is >= 60
        poruka = „Dovoljan“
    Case Else
        poruka = „Nedovoljan“
End Select
MsgBox poruka

Kao što vidite Select-Case struktura je puno pogodnija od ugnježdene If-Then strukture ako imamo veći broj mogućih ishoda.