Creative Saplings

eval (ez_write_tag ([[468,60], „sourcedaddy_com-box-3”, „ezslot_1”, 102, „0”, „0”])); instrukcja Select Case

10 stycznia, 2021
No Comments

MS-Excel / General Formatting

Wykonywanie wielu testów za pomocą If … ElseIf jest przydatną techniką – jest to „narzędzie VBA”, do którego często sięgasz. Jednak szybko staje się nieporęczny, ponieważ liczba testów, które musisz wykonać, rośnie. Jest w porządku dla dwóch lub trzech testów, ale więcej niż to utrudnia śledzenie logiki.

W takich sytuacjach instrukcja Select Case w języku VBA jest lepszym wyborem. Chodzi o to, aby na początku podać wyrażenie logiczne, a następnie podać listę możliwych wyników. Dla każdego możliwego wyniku, zwanego przypadkiem, podajesz jedną lub więcej instrukcji VBA do wykonania, jeśli sprawa okaże się prawdziwa. Oto składnia:

Select Case TestExpression Case FirstCaseList Case SecondCaseList <etc> Case Else End Select

TestExpression
To wyrażenie jest oceniane na początku struktury. musi zwracać wartość (logiczną, liczbową, ciągiem itd.).
CaseList
Lista co najmniej jednego możliwego wyniku dla TestExpression. Te wyniki to wartości lub wyrażenia oddzielone przecinkami. VBA sprawdza każdy element w list, aby sprawdzić, czy jedno z nich jest zgodne z TestExpression. Wyrażenia mogą przyjmować dowolną z następujących form:

ExpressionExpression To ExpressionIs LogicalOperator Expression

Słowo kluczowe To definiuje zakres wartości (na przykład od 1 do 10) . Słowo kluczowe Is definiuje otwarty zakres wartości (na przykład Is > = 100).
Instrukcje
Są to instrukcje, które VBA uruchamia, jeśli jakakolwiek część powiązana lista CaseList pasuje do TestExpression. VBA uruchamia opcjonalne ElseStatements, jeśli żadna CaseList nie zawiera dopasowania dla TestExpression.

Uwaga: Jeśli więcej niż jedna CaseList zawiera element, który pasuje TestExpression, VBA uruchamia tylko instrukcje powiązane z CaseList, która pojawia się jako pierwsza w strukturze Select Case.

Lista pokazuje, jak użyć Select Case do rozwiązania problemu z argumentem Frequency.

Procedura, która używa Wybierz przypadek, aby przetestować wiele wartości Przykład Wybierz przypadek: zamiana wyników testu na oceny literowe

Aby pomóc Ci lepiej zrozumieć instrukcję Select Case, przyjrzyjmy się innemu przykładowi, który lepiej prezentuje wyjątkowe talenty tego potężnego Struktura. Załóżmy, że chcesz napisać procedurę, która przekształca surowy wynik testu na ocenę literową zgodnie z poniższą tabelą:

Wynik surowy Letter Grade
90 i więcej A
Od 80 do 89 B
Od 70 do 79 C
Między 60 a 69 D
Mniej niż 60 F

Listing przedstawia procedurę LetterGrade, która używa instrukcji Select Case do wykonania konwersji.

Argument rawScore jest wartością całkowitą z przedziału od 0 do 100. Struktura Select Case najpierw sprawdza, czy wynik rawScore jest ujemny, a jeśli tak, funkcja zwraca komunikat o błędzie. Następna instrukcja Case sprawdza, czy wynik jest mniejszy niż 60, a funkcja zwraca literę „F”, jeśli tak. Następna instrukcja Case szuka wyniku, który jest mniejszy niż 70. Jeśli dojdziemy tak daleko, już wiemy (dzięki poprzedniej instrukcji Case), że wynik wynosi co najmniej 60. Dlatego ten przypadek naprawdę sprawdza, czy wynik jest od 60 do 70 (w tym 60, ale nie w tym 70). Jeśli tak, zwraca się literę „D”. Reszta oświadczeń Case przebiega w ten sam sposób. Case Elsechecks dla wyniku większego niż 100 i zwraca inny komunikat o błędzie, jeśli tak jest.

Inny przykład: oswajanie funkcji RGB

Funkcji VBA RGB (czerwony, zielony, niebieski) można używać w dowolnym momencie określić kolor właściwości. Każdy z trzech nazwanych argumentów (czerwony, zielony i niebieski) to liczby całkowite od 0 do 255, które określają, jak dużo każdego koloru składowego jest mieszane z kolorem końcowym. Na przykład w składniku czerwonym 0 oznacza brak czerwieni, a 255 oznacza obecność czystej czerwieni. Jeśli wszystkie trzy wartości są takie same, otrzymasz odcień szarości.

Oto kilka przykładowych wartości dla każdego komponentu, który generuje typowe kolory:

Czerwony Niebieski Zielony Wynik
0 0 0 Czarny
0 0 255 Niebieski
0 255 0 Zielony
0 255 255 Cyjan
255 0 0 Czerwony
255 0 255 Margenta
255 255 0 Żółty
255 255 255 Biały

Jednak zamiast zapamiętywać te kombinacje, zastosujmy VBA i Select Case, aby ułatwić wybór kolorów. pokazuje funkcję VBAColor, która pozwala używać nazw (na przykład „czerwony” lub „niebieski”) zamiast tajemniczego numb er kombinacji, aby ustawić 16 najpopularniejszych kolorów.

Funkcja, która przyjmuje nazwę koloru jako ciąg i zwraca odpowiednią wartość RGB

VBAColor przyjmuje pojedynczy argument, colorName, który jest nazwą koloru, chcę współpracować. Zwróć uwagę, jak instrukcja Select Case masuje argument, aby zapobiec błędom:

Select Case LCase(Trim(colorName))

Funkcja Trim usuwa wszelkie zbędne spacje na początku i koniec argumentu, a funkcja LCase konwertuje colorName na małe litery. Zapewnia to, że funkcja nie rozróżnia wielkości liter, co oznacza, że nie ma znaczenia, czy wyślesz czarny, czarny czy czarny: funkcja nadal będzie działać.

Reszta funkcji używa instrukcji Case do różne nazwy kolorów i zwróć odpowiednią wartość RGB. Możesz użyć procedury ColorTester, aby nadać wir VBAColora. Ta procedura po prostu formatuje kolor czcionki aktualnie wybranej komórki arkusza.

Uwaga: VBA definiuje również osiem stałych kolorów, które możesz użyć, gdy potrzebujesz tylko podstawowych kolorów: vbBlack, vbBlue, vbCyan, vbGreen, vbMagenta, vbRed, vbWhite i vbYellow.

Articles
Previous Post

Poprzedni kontra ostatni: jaka jest różnica?

Next Post

Oto 15 najszybszych ras psów na świecie

Dodaj komentarz Anuluj pisanie odpowiedzi

Najnowsze wpisy

  • Najlepsze szkoły fotograficzne na świecie, 2020
  • Suwerenni obywatele zabierają na drogi swoją antyrządową filozofię
  • Przewodnik po kosztach naprawy sztukaterii
  • Muckrakers (Polski)
  • Precyzyjna onkologia

Archiwa

  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • Listopad 2020
  • Październik 2020
  • Wrzesień 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.