Instrukcja VBA Select…Case_ to wyrażenie będące faktycznie odpowiednikiem funkcji Excela Przełącz(). Dla danej zmiennej wyszukuje pierwszą wartość będącą prawdą Prawdą i wykonuje przypisany do niego ciąg kodu.
W kodzie VBA instrukcja wygląda tak:
| Public Sub WyrazenieSelectCase() Dim DzienTyg As Integer DzienTyg = Weekday(Date, vbMonday) Select Case DzienTyg Case Is < 6 MsgBox „Dziś jest sobota!” '(…) Case 7 MsgBox „Miłej niedzieli” '(…) Case Else MsgBox „Dzień roboczy” End Select End Sub |
Stosując tę instrukcję trzeba pamiętać, że kolejność sprawdzania kolejnych warunków ma znaczenia.
Np. w takiej funkcji:
| Public Function JakaLiczba(Ile) Select Case Ile Case Is < 100 JakaLiczba = „Mniej niż 100” Case Is < 0 JakaLiczba = „Ujemna” Case Is > 100 JakaLiczba = „Więcej niż 100” End Select End Function |
Jeżeli argumentem wejściowym Ile będzie wartość ujemna – i tak otrzymany wynik będzie JakaLiczba=”Mniej niż 100″, gdyż już pierwszy warunek będzie spełniony i kolejne nie będą sprawdzane.
Jeżeli natomiast Ile=100 – otrzymamy w wyniku wartość pustą, gdyż każdy z warunków zwraca wartość False. Chcąc uniknąć takiej sytuacji – konieczne jest zastosowanie jako ostatniego warunku Case Else – czyli w innych przypadkach.


