VBA позволяет использовать операторы сравнения для сравнения значений. Используя эти операторы, вы можете сравнивать значения и в результате возвращать логическое значение True или False.
Список основных операторов сравнения в VBA
Сначала мы отобразим список операторов сравнения, которые можно использовать в коде VBA:
Оператор сравнения | Объяснение |
= |
Равно |
Не равно |
|
> |
Больше чем |
>= |
Больше или равно |
< |
Меньше, чем |
<= |
Меньше или равно |
Равно
В Равно Оператор проверяет, равны ли два значения, и возвращает True или False. Вот пример кода:
123456789101112 | Dim intA как целое числоDim intB как целое числоDim blnResult As BooleanintA = 5intB = 5Если intA = intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В этом примере мы хотим проверить, intA равно intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Сначала мы устанавливаем значения intA а также intB к 5:
12 | intA = 5intB = 5 |
После этого воспользуемся = в операторе If, чтобы проверить, соответствуют ли значения intA а также intB равны:
12345 | Если intA = intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
Обе переменные равны 5, поэтому blnResult возвращает True:
Изображение 1. Использование оператора Equal To
Не равно
В Нет Равно Оператор проверяет, не равны ли два значения, и возвращает True или False. Вот пример кода:
Произошла ошибка. Пожалуйста, попробуйте позже. |
В этом примере мы хотим проверить, intA не равно intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Мы используем в операторе If, чтобы проверить, соответствуют ли значения intA а также intB разные:
12345 | Если intA intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
Значение intA равно 5, а значение intB равно 6, переменные не равны, поэтому blnResult возвращает True:
Изображение 2. Использование оператора Not Equal To
Больше чем
В Больше чем Оператор проверяет, больше ли первое значение второго и возвращает True или False. Вот пример кода:
123456789101112 | Dim intA как целое числоDim intB как целое числоDim blnResult As BooleanintA = 6intB = 5Если intA> intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В этом примере мы хотим проверить, intA больше, чем intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Кроме того, мы используем > в операторе If, чтобы проверить, имеет ли значение intA больше, чем intB:
12345 | Если intA> intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В заключение, посколькуintA больше, чем intB, то blnResult возвращает True:
Изображение 3. Использование оператора "Больше, чем"
Больше или равно
В Больше или равно Оператор проверяет, больше ли первое значение второму или равно ему, и возвращает True или False. Вот пример кода:
123456789101112 | Dim intA как целое числоDim intB как целое числоDim blnResult As BooleanintA = 5intB = 5Если intA> = intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В этом примере мы хотим проверить, intA Больше или равно intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Мы используем>= в операторе If, чтобы проверить, имеет ли значение intA Больше или равно intB:
12345 | Если intA> = intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В заключение, поскольку обе переменные равны 5, blnResult возвращает True:
Изображение 4. Использование оператора "Больше или равно"
Меньше, чем
В Меньше, чем Оператор проверяет, меньше ли первое значение второго и возвращает True или False. Вот пример кода:
123456789101112 | Dim intA как целое числоDim intB как целое числоDim blnResult As BooleanintA = 5intB = 6Если intA <intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В этом примере мы хотим проверить, intA меньше чем intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Мы используем < в операторе If, чтобы проверить, имеет ли значение intA меньше чем intB:
12345 | Если intA <intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В качестве intA меньше чем intB, то blnResult возвращает True:
Изображение 5. Использование оператора «Меньше чем»
Меньше или равно
В Меньше или Равно Оператор проверяет, меньше ли первое значение или равно ему, и возвращает True или False. Вот пример кода:
123456789101112 | Dim intA как целое числоDim intB как целое числоDim blnResult As BooleanintA = 5intB = 5Если intA <= intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В этом примере мы хотим проверить, intA меньше или равно intB. Если это правда, значение Boolean blnResult будет True, в противном случае - False.
Мы используем <= в операторе If, чтобы проверить, имеет ли значение intA меньше или равно intB:
12345 | Если intA <= intB ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если |
В заключение, поскольку обе переменные равны 5, blnResult возвращает True:
Изображение 6. Использование оператора «Меньше или равно»
Оператор
Оператор Is проверяет, содержат ли две объектные переменные один и тот же объект:
12345678910111213 | Sub CompareObjects ()Dim ws1 как рабочий лист, ws2 как рабочий листУстановить ws1 = Sheets ("Sheet1")Установить ws2 = Sheets ("Sheet2")Если ws1 Is ws2, тоMsgBox "Тот же WS"ЕщеMsgBox «Различные WS»Конец, еслиКонец подписки |
Оператор Like
Оператор Like может использоваться для поиска неточных текстовых совпадений. В этом примере проверяется, начинается ли строка с «Мистер».
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult As BooleanstrName = "Мистер Майкл Джеймс"Если strName Like "Mr *" ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, еслиКонец подписки |
Если вы хотите узнать, как сравнивать строки, щелкните здесь: VBA Compare Strings - StrComp
Если вы хотите узнать, как использовать операторы сравнения, щелкните здесь: Логические операторы VBA