VBA Select Case

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 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 wprowadza się 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żeń (Przypadek 1, Przypadek 2, Przypadek 3 i tak dalej ...) Przypadek Else (Instrukcje Else) Koniec Wybierz 

Wyjaśnienie terminów związanych z wybranym przypadkiem przedstawiono poniżej

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 zdefiniowane przez użytkownika i kodowanie utworzone w trybie programisty do uruchamiania różnych małych aplikacji 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 należy 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 end sub
  • 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
Możesz pobrać ten szablon VBA Select Case Excel tutaj - VBA Select Case Excel Template

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 "Dopasowano pierwszą wielkość liter!" 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żą do porównywania wyrażenia testowego z różnymi przypadkami. W niniejszym przykładzie drugi przypadek jest dopasowany 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 danym wejściem, aby wygenerować wynik.

Wynik uzyskuje się 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 używany również 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, aby pomóc 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 tak, jak pokazano na zrzucie ekranu, a po wprowadzeniu liczby parzystej dane wyjściowe są wyświetlane w następujący sposób.

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

Zagnieżdżanie jest użyteczną funkcją wybranej sprawy i pokazano, jak to się robi.

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ń roboczy" Koniec Wybierz Koniec Pod 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.