VBA umożliwia używanie operatorów porównania do porównywania wartości. Używając tych operatorów, możesz porównać wartości i w rezultacie zwrócić Boolean True lub False.
Lista głównych operatorów porównania w VBA
Najpierw wyświetlimy listę operatorów porównania, których można użyć w kodzie VBA:
Operator porównania | Wyjaśnienie |
= |
Równy |
Nie równa się |
|
> |
Lepszy niż |
>= |
Większy lub równy |
< |
Mniej niż |
<= |
Mniejszy lub równy |
Równy
ten Równy operator sprawdza, czy dwie wartości są równe i zwraca True lub False. Oto przykładowy kod:
123456789101112 | Dim intA jako liczba całkowitaDim intB jako liczba całkowitaDim blnResult As BooleanintA = 5intB = 5Jeśli intA = intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
W tym przykładzie chcemy sprawdzić, czy intA jest równe intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Najpierw ustalamy wartości intA oraz intB do 5:
12 | intA = 5intB = 5 |
Następnie używamy = operator w instrukcji If, aby sprawdzić, czy wartości intA oraz intB są równe:
12345 | Jeśli intA = intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Obie zmienne są równe 5, dlatego blnWynik zwraca True:
Rysunek 1. Korzystanie z operatora Równe do
Nie równa się
ten Nie Równy operator sprawdza, czy dwie wartości nie są równe i zwraca True lub False. Oto przykładowy kod:
Wystąpił błąd. Spróbuj ponownie później. |
W tym przykładzie chcemy sprawdzić, czy intA nie jest równy intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Używamy operator w instrukcji If, aby sprawdzić, czy wartości intA oraz intB są różne:
12345 | Jeśli intA intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Wartość intA wynosi 5, a wartość intB wynosi 6, zmienne nie są równe, dlatego blnWynik zwraca True:
Rysunek 2. Korzystanie z operatora Nie równa się
Lepszy niż
ten Lepszy niż operator sprawdza, czy pierwsza wartość jest większa od drugiej wartości i zwraca True lub False. Oto przykładowy kod:
123456789101112 | Dim intA jako liczba całkowitaDim intB jako liczba całkowitaDim blnResult As BooleanintA = 6intB = 5Jeśli intA > intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
W tym przykładzie chcemy sprawdzić, czy intA jest większy niż intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Ponadto używamy > operatora w instrukcji If w celu sprawdzenia, czy wartość intA jest większy niż intB:
12345 | Jeśli intA > intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Podsumowując, jakintA jest większy niż intB, ten blnWynik zwraca True:
Rysunek 3. Korzystanie z operatora Większe niż
Większy lub równy
ten Większy lub równy operator sprawdza, czy pierwsza wartość jest większa lub równa drugiej wartości i zwraca True lub False. Oto przykładowy kod:
123456789101112 | Dim intA jako liczba całkowitaDim intB jako liczba całkowitaDim blnResult As BooleanintA = 5intB = 5Jeśli intA >= intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
W tym przykładzie chcemy sprawdzić, czy intA jest większa niż lub równa intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Używamy >= operator w instrukcji If, aby sprawdzić, czy wartość intA jest większa niż lub równa intB:
12345 | Jeśli intA >= intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Podsumowując, ponieważ obie zmienne są równe 5, blnWynik zwraca True:
Rysunek 4. Korzystanie z operatora „większe niż lub równe”
Mniej niż
ten Mniej niż operator sprawdza, czy pierwsza wartość jest mniejsza niż druga wartość i zwraca True lub False. Oto przykładowy kod:
123456789101112 | Dim intA jako liczba całkowitaDim intB jako liczba całkowitaDim blnResult As BooleanintA = 5intB = 6Jeśli intA < intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
W tym przykładzie chcemy sprawdzić, czy intA jest mniej niż intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Używamy < operator w instrukcji If, aby sprawdzić, czy wartość intA jest mniej niż intB:
12345 | Jeśli intA < intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Jak intA jest mniej niż intB, ten blnWynik zwraca True:
Rysunek 5. Korzystanie z operatora Mniej niż
Mniejszy lub równy
ten Mniej niż lub Równy operator sprawdza, czy pierwsza wartość jest mniejsza lub równa i zwraca True lub False. Oto przykładowy kod:
123456789101112 | Dim intA jako liczba całkowitaDim intB jako liczba całkowitaDim blnResult As BooleanintA = 5intB = 5Jeśli intA <= intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
W tym przykładzie chcemy sprawdzić, czy intA jest mniejsze lub równe intB. Jeśli to prawda, wartość Boolean blnWynik będzie prawdą, w przeciwnym razie będzie fałszem.
Używamy <= operator w instrukcji If, aby sprawdzić, czy wartość intA jest mniejsze lub równe intB:
12345 | Jeśli intA <= intB WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśli |
Podsumowując, ponieważ obie zmienne są równe 5, blnWynik zwraca True:
Rysunek 6. Korzystanie z operatora mniej niż lub równego
Jest operatorem
Operator Is sprawdza, czy dwie zmienne obiektu zawierają ten sam obiekt:
12345678910111213 | Sub PorównajObiekty()Dim ws1 jako arkusz roboczy, ws2 jako arkusz roboczyUstaw ws1 = Arkusze("Arkusz1")Ustaw ws2 = Arkusze("Arkusz2")Jeśli ws1 Czy ws2 WtedyMsgBox "Ten sam WS"W przeciwnym razieMsgBox "Różne WS"Zakończ, jeśliNapis końcowy |
Jak operator
Operator Like może służyć do wyszukiwania niedokładnych dopasowań tekstowych. Ten przykład sprawdzi, czy ciąg zaczyna się od „Mr.”
1234567891011121314 | Sub LikeDemo()Dim strName jako ciągDim blnResult As BooleanstrName = "Pan Michael James"Jeśli strName Like "Pan*" WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśliNapis końcowy |
Jeśli chcesz dowiedzieć się, jak porównywać ciągi, kliknij tutaj: VBA Compare Strings - StrComp
Jeśli chcesz dowiedzieć się, jak używać operatorów porównania, kliknij tutaj: Operatory logiczne VBA