Instrukcja Select ‌ Case
Szanowni Państwo,
W poniższej prezentacji odnajdą Państwo informacje na temat instrukcji w języku VBA w MS Excel. Jeżeli chcielibyście dokładniej poznać zagadnieniami związanymi z językiem VBA zapraszamy na kurs VBA w Excelu, realizowane przez naszą firmę - na wszystkich poziomach zaawansowania.
Programy wszystkich organizowanych przez nas szkoleń znajdą Państwo na stronie Cognity.
Autorem treści prezentacji jest Pan Grzegorz Plak trener Cognity.
Instrukcja Select … Case
Cel instrukcji oraz działanie jest identyczne jak w przypadku instrukcji warunkowej If … ElseIf … Else. Jednak instrukcje różnią się między sobą składnią.
Kurs VBA
Składnia Select … Case Select Case kwota
Case warunek1
'wykonywany jeśli warunek1 jest prawdziwy
Case warunek2
'wykonywany jeśli warunek2 jest prawdziwy
Case Else
'wykonywany gdy warunki są fałszywe
End Select
Kurs VBA
Składnia Select … Case
Jeśli jakikolwiek warunek zostanie spełniony (czyli jego wartość logiczna będzie prawdziwa) to następuje wykonanie instrukcji po tym warunku aż do kolejnego oraz nastąpi wyjście z instrukcji Select Case.
Kurs VBA
Przykłady - Ulubiona liczba
Użytkownik podaje liczbę od 0 do 1000. Należy wypisać komunikat w zależności od podanej liczby: • liczba < 0, komunikat: „Liczba ujemna” • liczba ≥ 0 oraz liczba <= 1000, komunikat: „Liczba z dozwolonego przedziału” • liczba > 1000, komunikat: „Liczba powyżej 1000”
Kurs VBA
Przykłady - Ulubiona liczba
Sub ulubiona_liczba() liczba = CInt(InputBox("Podaj liczbę")) Select Case liczba Case Is < 0 MsgBox "Liczba ujemna" Case Is <= 1000 MsgBox "Liczba z dozwolonego przedziału" Case Is > 1000 MsgBox "Liczba powyżej 1000" End Select End Sub
Kurs VBA
Przykłady - Ulubiona liczba
Użytkownik podaje liczbę, która jest konwertowana na typ Integer (całkowitoliczbowy). Jeśli użytkownik poda liczbę np. -5, to zostanie wyświetlony wyłącznie komunikat „Liczba ujemna”. W przypadku, gdy użytkownik wprowadzi np. 789, to otrzyma wyłącznie informację „Liczba z dozwolonego przedziału”. Jeśli zostanie wprowadzona liczba np. 2340, to – zgodnie z założeniami makra – powinna zostać wyświetlona informacja „Liczba powyżej 1000”.
Kurs VBA
Filtrowanie w VBA
Celem filtrowania jest przefiltrowanie w odpowiedni sposób tabeli. Przykład: Wartość podatku jest podana w komórce. Przykład z artykułu o nazwie Instrukcja If zostanie zamieniony z wykorzystaniem instrukcji Select Case, dzięki czemu będzie można porównać składnię obu instrukcji:
Kurs VBA
Instrukcja warunkowa If Sub filtrowanie() podatek = Range("H1").Value If podatek = 0.09 Then filtrowanie_9 ElseIf podatek = 0.17 Then filtrowanie_17 ElseIf podatek = 0.2 Then filtrowanie_20 ElseIf podatek = 0.25 Then filtrowanie_25 Else MsgBox "NieprawidĹ&#x201A;owy warunek filtrowania" End If End Sub
Kurs VBA
Instrukcja warunkowa Select
W zaprezentowanym poniżej przykładzie mamy do czynienia ze sprawdzaniem punktowym (czyli sprawdzamy czy podana liczba jest równa jakiejś wartości a nie sprawdzamy czy należy do przedziału). W zaprezentowanym przykładzie nie widać różnic między instrukcją If oraz Select.
Uwaga! Przykłady mają na celu pokazanie działanie pewnych konstrukcji programistycznych i autor zdaje sobie sprawę z tego, że kod ww. przykładów nie jest optymalny.
Kurs VBA
Instrukcja warunkowa Select Sub filtrowanie() podatek = Range("H1").Value Select Case podatek Case 0.09 filtrowanie_9 Case 0.17 filtrowanie_17 Case 0.2 filtrowanie_20 Case 0.25 filtrowanie_25 Case Else MsgBox "Nieprawid?owy warunek filtrowania" End Select End Sub
Kurs VBA
Instrukcje warunkowe w Excelu są jednym z elementów szkoleniu VBA w Excelu Przekrojowym.
Szkolenie to, podobnie jak inne specjalistyczne kursy VBA, organizowane przez firmę Cognity, ma na celu usprawnienie i przyspieszenie pracy w tym najbardziej popularnym arkuszu kalkulacyjnym.