VBA дозволяє використовувати оператори порівняння для порівняння значень. За допомогою цих операторів можна порівняти значення і в результаті повернути булеве значення True або False.
Перелік основних операторів порівняння у VBA
Спочатку ми відобразимо список операторів порівняння, які можна використовувати у коді VBA:
Оператор порівняння | Пояснення |
= |
Дорівнює |
Не дорівнює |
|
> |
Більше ніж |
>= |
Більше або дорівнює |
< |
Менше ніж |
<= |
Менше або дорівнює |
Дорівнює
The Дорівнює оператор перевіряє, чи рівні два значення, і повертає True або False. Ось приклад коду:
123456789101112 | Dim intA як ціле числоDim intB як ціле числоDim blnРезультат БулевоintA = 5intB = 5Якщо intA = intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
У цьому прикладі ми хочемо перевірити, чи є intA дорівнює intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Спочатку ми встановлюємо значення intA та intB до 5:
12 | intA = 5intB = 5 |
Після цього ми використовуємо = оператор у операторі If, щоб перевірити, чи значення intA та intB рівні:
12345 | Якщо intA = intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
Обидві змінні рівні 5, тому blnResult повертає True:
Зображення 1. За допомогою оператора Equal To
Не дорівнює
The Ні Дорівнює оператор перевіряє, чи два значення не рівні, і повертає True або False. Ось приклад коду:
Сталася помилка. Будь-ласка спробуйте пізніше. |
У цьому прикладі ми хочемо перевірити, чи є intA не дорівнює intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Ми використовуємо оператор у операторі If, щоб перевірити, чи значення intA та intB різні:
12345 | Якщо intA intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
Значення intA дорівнює 5 і значення intB дорівнює 6, змінні не рівні, тому blnResult повертає True:
Зображення 2. Використання оператора Not Equal To
Більше ніж
The Більше ніж оператор перевіряє, чи перше значення більше другого, і повертає значення True або False. Ось приклад коду:
123456789101112 | Dim intA як ціле числоDim intB як ціле числоDim blnРезультат БулевоintA = 6intB = 5Якщо intA> intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
У цьому прикладі ми хочемо перевірити, чи є intA більше ніж intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Крім того, ми використовуємо > оператор у операторі If, щоб перевірити, чи є значення intA більше ніж intB:
12345 | Якщо intA> intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
На закінчення, якintA більше ніж intB, blnResult повертає True:
Зображення 3. Використання оператора Greater Than
Більше або дорівнює
The Більше або дорівнює оператор перевіряє, чи перше значення більше або дорівнює другому значенню, і повертає True або False. Ось приклад коду:
123456789101112 | Dim intA як ціле числоDim intB як ціле числоDim blnРезультат БулевоintA = 5intB = 5Якщо intA> = intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
У цьому прикладі ми хочемо перевірити, чи є intA більше або дорівнює intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Ми використовуємо>= оператор у операторі If, щоб перевірити, чи є значення intA більше або дорівнює intB:
12345 | Якщо intA> = intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
На закінчення, оскільки обидві змінні рівні 5, blnResult повертає True:
Зображення 4. Використання оператора «Більше, ніж» або «Дорівнює»
Менше, ніж
The Менше ніж оператор перевіряє, чи перше значення менше другого значення, і повертає True або False. Ось приклад коду:
123456789101112 | Dim intA як ціле числоDim intB як ціле числоDim blnРезультат БулевоintA = 5intB = 6Якщо intA <intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
У цьому прикладі ми хочемо перевірити, чи є intA менше ніж intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Ми використовуємо < оператор у операторі If, щоб перевірити, чи є значення intA менше ніж intB:
12345 | Якщо intA <intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
Як intA менше ніж intB, blnResult повертає True:
Зображення 5. Використання оператора Less Than
Менше або дорівнює
The Менше або Дорівнює оператор перевіряє, чи є перше значення меншим або рівним, і повертає True або False. Ось приклад коду:
123456789101112 | Dim intA як ціле числоDim intB як ціле числоDim blnРезультат БулевоintA = 5intB = 5Якщо intA <= intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
У цьому прикладі ми хочемо перевірити, чи є intA менше або дорівнює intB. Якщо це правда, значення Boolean blnResult буде істиною, інакше - помилкою.
Ми використовуємо <= оператор у операторі If, щоб перевірити, чи є значення intA менше або дорівнює intB:
12345 | Якщо intA <= intB ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо |
На закінчення, оскільки обидві змінні рівні 5, blnResult повертає True:
Зображення 6. Використання оператора Менше або Дорівнює
Є оператором
Оператор Is перевіряє, чи дві змінні об’єкта містять один і той самий об’єкт:
12345678910111213 | Sub CompareObjects ()Dim ws1 як робочий аркуш, ws2 як робочий аркушВстановити ws1 = Аркуші ("Аркуш1")Встановити ws2 = Аркуші ("Аркуш2")Якщо ws1 є ws2 ТодіПовідомлення "Те саме WS"ІнакшеMsgBox "Різні WS"Закінчити ЯкщоEnd Sub |
Як оператор
Оператор Like може бути використаний для пошуку неточних текстових відповідностей. У цьому прикладі буде перевірено, чи починається рядок з "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnРезультат БулевоstrName = "Містер Майкл Джеймс"Якщо strName як "Mr*" ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити ЯкщоEnd Sub |
Якщо ви хочете дізнатися, як порівнювати рядки, натисніть тут: VBA Порівняти рядки - StrComp
Якщо ви хочете дізнатися, як використовувати оператори порівняння, натисніть тут: Логічні оператори VBA