Instrukcja Select CASE w Excel VBA

1. Instrukcja SELECT CASE – wprowadzenie

Kolejną instrukcją obok IF THEN ELSE wykorzystywaną w procesie podejmowania decyzji przez nasz program jest instrukcja SELECT CASE VBA. Instrukcja sprawdza czy wprowadzona do instrukcji dana jest zgodna z warunkami zapisanymi w instrukcji. Na tej podstawie wybierany jest jeden scenariusz w naszym procesie decyzyjnym. Po wyborze scenariusza wykonywane jest działanie zapisane w bloku danego scenariusza Case i instrukcja kończy swoje działanie.Model instrukcji Select CASE VBA wygląda następująco:

Select Case Wartość_wprowadzona
 Case Wartość_sprawdzana_1
    Działanie wykonywane, gdy Wartość_wprowadzona = Wartość_sprawdzana_1
 Case Wartość_sprawdzana_2
    Działanie wykonywane, gdy Wartość_wprowadzona = Wartość_sprawdzana_2
 Case Wartość_sprawdzana_n
    Działanie wykonywane, gdy Wartość_wprowadzona = Wartość_sprawdzana_n
 Case Else
    Działanie wykonywane, gdy żadna z wartości sprawdzanych nie odpowiada wartości wprowadzonej
End Select 'zakończenie instrukcji

2. Przykład zastosowania instrukcji Select CASE VBA

Na początek zajmijmy się prostym przykładem. Chcemy, by po wpisaniu w okienku InputBox numeru miesiąca wyświetlał nam się jego opis słowny. Tak więc dla stycznia będzie to liczba 1 , dla lutego 2 itp. W przypadku, gdy wprowadzona wartość będzie wykraczała poza zakres 1-12, bądź też wprowadzona wartość nie będzie liczbą całkowitą otrzymamy komunikat z prośbą o wprowadzenie właściwej wartości.

Sub CaseExample()
 Dim IntMonthNumber As Variant
 IntMonthNumber = InputBox("Wprowadź numer miesiąca z przedziału 1-12")
 Select Case IntMonthNumber
 Case 1
 MsgBox "Styczeń"
 Case 2
 MsgBox "Luty"
 Case 3
 MsgBox "Marzec"
 Case 4
 MsgBox "Kwiecień"
 Case 5
 MsgBox "Maj"
 Case 6
 MsgBox "Czerwiec"
 Case 7
 MsgBox "Lipiec"
 Case 8
 MsgBox "Sierpień"
 Case 9
 MsgBox "Wrzesień"
 Case 10
 MsgBox "Październik"
 Case 11
 MsgBox "Listopad"
 Case 12
 MsgBox "Grudzień"
 Case Else
 MsgBox "Wartość jest błędna. Wprowadź wartość liczbową z przedziału 1-12"
 End Select
End Sub
Kurs Excel VBA - Select Case VBA
Kurs Excel VBA – Select Case VBA

3. Zadania (Rozwiązanie możesz wpisać w komentarzu)

3.1 W oparciu o rozdział kursu dotyczący instrukcji IF THEN ELSE pkt3. zbuduj analogiczny przykład stosując instrukcję Select CASE.

3.2 W oparciu o przykład z tego rozdziału napisz program, który po wprowadzeniu liczby reprezentującej dzień tygodnia zwróci jego wersję słowną.

Dodaj komentarz

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

9 komentarzy “Instrukcja Select CASE w Excel VBA”