Jak używać instrukcji Select Case w języku VBA? (Przykłady)

Instrukcja Excel VBA Select Case

Select Case jest substytutem zapisywania wielu instrukcji if w VBA, gdy mamy wiele warunków w kodzie, być może będziemy musieli użyć wielu instrukcji If, co może być żmudne, ponieważ staje się bardziej złożone, gdy podano więcej instrukcji If, w select case statement, określamy kryteria jako różne przypadki i wyniki według nich.

SELECT CASE pomaga w podejmowaniu decyzji. W tym przypadku do oceny różnych możliwych przypadków używane jest tylko jedno wyrażenie. Wiele warunków jest łatwo analizowanych w celu wykonania opracowanego kodu. Ta instrukcja przypadku jest używana jako instrukcja zastępująca ELSE IF w celu oceny wyrażeń. Jest klasyfikowany jako funkcja logiczna wbudowana w Excel. Aby skorzystać z tej funkcji, kod jest wprowadzany za pomocą wizualnego edytora podstawowego przedstawionego na karcie dewelopera.

Wyjaśnienie

W Select Case używane są różne grupy instrukcji. Aby efektywnie z tego korzystać, należy postępować zgodnie z następującą składnią. Jest podobny do instrukcji switch prezentowanej w innych językach programowania, takich jak Java, C # i PHP.

Wybierz (przypadek) Wyrażenie do testowania (Przypadek) Lista instrukcji wyrażenia (Przypadek 1, Przypadek 2, Przypadek 3 i tak dalej…) Przypadek Else (Instrukcje Else) End Select

Poniżej przedstawiono wyjaśnienie terminów związanych z wybranym przypadkiem.

Wyrażenie do testowania: wymagane jest oszacowanie różnych typów danych, takich jak liczba całkowita, ciąg znaków, wartość logiczna, obiekt i znak.

Lista wyrażeń: Wyrażenia są tworzone z przypadkiem, aby znaleźć dokładne dopasowanie wprowadzonych danych wejściowych. Jeśli więcej niż dwa wyrażenia, są one oddzielane za pomocą operatora przecinka. „Is” to słowo kluczowe używane do porównywania dwóch wyrażeń przy użyciu operatorów logicznych w programie Excel, takich jak =,, =.

  • End Select: zamyka definicję przypadku wyboru konstruktora
  • Instrukcje: Instrukcje są opracowywane przy użyciu przypadku do uruchamiania wyrażeń, które są oceniane w celu przeanalizowania, czy istnieje jakakolwiek zgodna instrukcja
  • Instrukcje Else: służy do testowania instrukcji else, gdy wyrażenie testujące nie pasuje do żadnych instrukcji case.

Jak korzystać z instrukcji VBA Select Case?

Funkcja wyboru przypadku zapewniana przez VBA nie działa w normalnych arkuszach roboczych. Musimy skorzystać z opcji Visual Basic w zakładce Developer. Funkcje i kodowanie zdefiniowane przez użytkownika są tworzone w trybie programisty, aby uruchamiać różne małe aplikacje w branży.

Jest używany w sytuacjach, gdy w programie Excel są zagnieżdżone instrukcje if. Jest to najlepsza opcja do radzenia sobie z różnymi zestawieniami przypadków. Aby efektywnie korzystać z tej opcji, należy wykonać następujące zadania.

  • Przede wszystkim musi utworzyć makro, umieszczając kontrolkę przycisku polecenia w arkuszu programu Excel.
  • Następnie kliknij prawym przyciskiem myszy przycisk polecenia i wybierz opcję wyświetlania kodu.
  • Umieść kod między funkcją przycisku polecenia a podrzędnym końcem.
  • Debuguj kod, aby zidentyfikować wszelkie błędy składniowe.
  • Skompiluj kod, aby znaleźć błędy kompilacji i pomyślnie wykonać program
  • Zmień wartości wejściowe, aby obserwować różne wyniki w oparciu o pasujące kryteria

Przykład 1 - prosta instrukcja Select Case

Ten przykład ma na celu zrozumienie prostego przypadku wyboru w celu znalezienia dopasowanej wartości.

Kod:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "Pierwsza wielkość liter jest dopasowana!" Przypadek 20 MsgBox "Dopasowany drugi przypadek!" Przypadek 30 MsgBox „Trzeci przypadek jest dopasowany w Select Case!” Przypadek 40 MsgBox "Czwarty przypadek jest dopasowany w Select Case!" Case Else MsgBox "Żaden przypadek nie jest dopasowany!" End Wybierz End Sub

Wynik:

Instrukcja Four case i instrukcja case else służy do porównywania wyrażenia testowego z różnymi przypadkami. W niniejszym przykładzie drugi przypadek jest dopasowywany jako zmienna A pasuje do 20.

Przykład nr 2 - słowo kluczowe „Do” do testowania ocen

W tym przykładzie wyjaśniono użycie słowa kluczowego „Do” w wybranym przypadku.

Kod:

Private Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ("Wprowadzić znaczniki od 1 do 100?") Wybierz Case studentmarks Case 1 do 36 MsgBox "Fail!" Przypadek 37 do 55 MsgBox „C Grade” Case 56 do 80 MsgBox „B Grade” Case 81 do 100 MsgBox „A Grade” Przypadek inny MsgBox „Poza zakresem” Koniec Wybierz Koniec Sub

Wynik:

Słowo kluczowe „To” jest pomocne w definiowaniu zestawu wyrażeń testowych w zakresie. Jest to pomocne w znalezieniu oceny uzyskanej przez ucznia poprzez porównanie różnych przypadków. Po uruchomieniu programu musimy wpisać wartość, aby otrzymać wynik.

Dane wyjściowe są wyświetlane z komunikatem, jak pokazano na powyższym zrzucie ekranu.

Przykład 3 - użycie słowa kluczowego „Is” z funkcją Select Case

Ten przykład demonstruje użycie słowa kluczowego „Is” w wybranym przypadku.

Kod:

Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Proszę podać liczbę") Select Case NumInput Case Is = 200 MsgBox "Wprowadziłeś liczbę większą lub równą 200" End Select End Sub

Słowo kluczowe „Is” pomaga znaleźć dopasowane wartości wyłącznie z wyrażeniami wielkości liter. Porównuje wyrażenie testowe z danymi wejściowymi, aby wygenerować wynik.

Wynik jest uzyskiwany tak, jak pokazano na rysunku, jeśli wprowadzona wartość jest większa niż 200

Przykład # 4 - Z przyciskiem polecenia do zmiany wartości

Przypadek wyboru jest również używany z przyciskiem Polecenie, tworząc makro.

Kod:

Kolor podrzędny () Przyciemnij kolor jako Kolor ciągu = Zakres („A1”). Wartość Wybierz Kolor obudowy „Czerwony”, „Zielony”, „Żółty” Zakres („B1”). Wartość = 1 Obudowa „Biały”, „Czarny "," Brązowy "Zakres (" B1 "). Wartość = 2 Przypadki" Niebieski "," Błękit nieba "Zakres (" B1 "). Wartość = 3 Przypadki Inne Zakres (" B1 "). Wartość = 4 Koniec Wybierz Koniec Sub

Jak pokazano w programie, dane wejściowe są pobierane z komórek arkusza. Program jest uruchamiany po kliknięciu przycisku polecenia używanego z formantów ActiveX. W tym przypadku do łączenia wyrażeń testowych używany jest separator przecinka.

Zmiana wartości w komórce A1 powoduje zmianę w komórce B1 również poprzez uruchomienie makra programu Excel za pomocą przycisku polecenia. Możesz zapoznać się z zrzutem ekranu podanym poniżej: -

Przykład nr 5 - Sprawdź liczbę nieparzystą lub parzystą

Ten przykład pomagający sprawdzić liczbę jest parzysta lub nieparzysta.

Kod:

Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "Liczba jest parzysta" Case False MsgBox "Liczba jest nieparzysta" End Select End Sub

Kodowanie jest opracowywane, jak pokazano na zrzucie ekranu, a wyjście jest wyświetlane w następujący sposób, nawet po wprowadzeniu liczby.

Przykład 6 - zagnieżdżone instrukcje Select Case

Zagnieżdżanie jest użyteczną funkcją zaznaczonego przypadku, a sposób jego wykonywania jest pokazany.

Kod:

Sub TestWeekday () Wybierz przypadek Dzień roboczy (teraz) Przypadek 1, 7 Wybierz przypadek Dzień roboczy (teraz) Przypadek 1 MsgBox "Dzisiaj jest niedziela" Przypadek inny MsgBox "Dzisiaj jest sobota" Zakończ Wybierz przypadek inny MsgBox "Dzisiaj jest dzień tygodnia" Koniec Wybierz Koniec Pod

Tutaj wybrany przypadek jest zdefiniowany w innym wybranym przypadku w celu przetestowania dnia, dnia tygodnia lub weekendu. Z wyjątkiem przypadku 1 i 7, pozostałe to dni tygodnia (Uwaga: przypadek 1 to niedziela, a przypadek 7 to sobota)

Rzeczy do zapamiętania

  • Słowa kluczowe „Is” użyte w wyrażeniu (case) i (case else) nie są równe.
  • Formant ActiveX powinien być używany podczas wykonywania programu za pomocą przycisku polecenia pobierającego dane wejściowe i wyświetlającego dane wyjściowe w zakresie komórek arkusza programu Excel.
  • Trudno jest uruchamiać programy w VBA, jeśli makra są wyłączone i zawsze włączają makra, aby uzyskać najlepsze wyniki.
  • W języku VBA rozróżniana jest wielkość liter, więc dane wejściowe należy wprowadzać dokładnie, aby uzyskać lepsze wyniki.

Interesujące artykuły...