Instrukcja Select CASE w Excel VBA 4


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:

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.

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 email nie zostanie opublikowany.

4 komentarzy do “Instrukcja Select CASE w Excel VBA

  • Tomo G

    Sub czypelnoletni()
    Dim wiek As Variant

    wiek = InputBox(“Podaj wiek”)
    Select Case wiek
    Case Is < 0
    MsgBox (“podaj prawidłowe dane”)
    Case Is > 200
    MsgBox (“podaj prawidłowe dane”)
    Case Is < 18
    MsgBox (“niepełnoletni”)
    Case Is >= 18
    MsgBox (“pełnoletni”)
    Case Else
    MsgBox (“Podaj prawidłowe dane”)

    End Select
    End Sub

  • Piotrek

    Sub CaseExample()
    Dim IntMonthNumber As Variant
    IntMonthNumber = InputBox(“Wprowadź swój wiek”)
    Select Case IntMonthNumber
    Case Is < 0
    MsgBox “błąd, wartość nieprawidłowa”
    Case Is > 100
    MsgBox “błąd, wartość za wysoka”

    Case Is < 18
    MsgBox “niepełnoletni”
    Case Is > 18
    MsgBox “pełnoletni”

    Case Else
    MsgBox “Wartość jest błędna.”

    End Select
    End Sub

  • Marcin

    3.1

    Option Explicit
    Sub InstrukcjaWarunkowaSelectCase2()

    Dim varAge As Variant
    Dim strAnswer As String
    varAge = InputBox(“Wprowadź prosze swoj wiek”, “Czy jestes pełnoletni?”)

    Select Case varAge
    Case Is < 0
    strAnswer = “Chyba nie możeszesz miec wieku ujemnego, prawda?”
    Case Is > 100
    strAnswer = “Gratuluje długowieczności, jednak prosze podaj górną granicę przewidzianą w programie, czyli 100 lat”
    Case Is < 18
    strAnswer = “Jesteś niepełnoletni”
    Case Is >= 10
    strAnswer = “Jesteś pełnoletni”
    End Select

    MsgBox strAnswer

    End Sub

     

    3.2

    Option Explicit
    Sub InstrukcjaWarunkowaSelectCase3()

    Dim varWeekDay As Variant
    varWeekDay = InputBox(“Podaj liczbę odpowiadająca dniu tygodnia”, “Dzień tygodnia”)

    Select Case varWeekDay
    Case 1
    MsgBox “Poniedziałek”
    Case 2
    MsgBox “Wtorek”
    Case 3
    MsgBox “Środa”
    Case 4
    MsgBox “Czwartek”
    Case 5
    MsgBox “Piątek”
    Case 6
    MsgBox “Sobota”
    Case 7
    MsgBox “Niedziela”
    Case Else
    MsgBox “Podaj numer dnia tygodnia jako liczby od 1 do 7”
    End Select
    End Sub