Instrukcja Select…Case_

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. 



A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *