Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используется для сравнения выражений.
Синтаксис
результат = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern
Операторы сравнения состоят из следующих частей:
| Part | Описание |
|---|---|
| result | Обязательный элемент; любая числовая переменная. |
| выражение | Обязательный элемент; любое выражение. |
| comparisonoperator | Обязательный элемент; любой оператор сравнения. |
| object | Обязательный; любое имя объекта. |
| строка | Обязательный элемент; любое строковое выражение. |
| pattern | Обязательный элемент; любое строковое выражение или диапазон символов. |
Замечания
Следующая таблица содержит список операторов сравнения и условий, определяющих, имеет ли результатзначение True, False или Null.
| Оператор | True, если | False, если | Null, если |
|---|---|---|---|
< (Меньше) |
expression1<expression2 | expression1>= expression2 | expression1 или expression2 = NULL |
<= (Меньше или равно) |
expression1<= expression2 | expression1>expression2 | expression1 или expression2 = NULL |
> (Больше) |
expression1>expression2 | expression1<= expression2 | expression1 или expression2 = NULL |
>= (Больше или равно) |
expression1>= expression2 | expression1<expression2 | expression1 или expression2 = NULL |
= (Равно) |
expression1 = expression2 | expression1<>expression2 | expression1 или expression2 = NULL |
<> (Не равно) |
expression1<>expression2 | expression1 = expression2 | expression1 или expression2 = NULL |
Примечание.
Операторы Is и Like обладают особыми возможностями сравнения, которые отличаются от возможностей операторов, приведенных в таблице.
При сравнении двух выражений, возможно, будет нелегко определить, сравниваются ли выражения как числа или как строки. В следующей таблице показано, как сравниваются выражения или результат, если любое из выражений не является Variant.
| Если | Then |
|---|---|
| Оба выражения представляют собой числовые типы данных (Byte, Boolean, Integer, Long, Single, Double, Date, Currency или Decimal) | Выполните числовое сравнение. |
| Оба выражения имеют тип String | Выполняется сравнение строк. |
| Одно выражение является числовым типом данных, а другое — типом Variant, который равен числу или может им быть | Выполните числовое сравнение. |
| Одно выражение является числовым типом данных, а другое — строкой Variant, которая не может быть преобразована в число | Возникает Type Mismatch ошибка. |
| Одно выражение — String, а другое — любое значение Variant за исключением Null | Выполните строковое сравнение. |
| Одно выражение — Empty, а другое является числовым типом данных | Выполните числовое сравнение, используя 0 в качестве выражения Empty. |
| Одно выражение — Empty, а другое — String | Выполните строковое сравнение, используя строку нулевой длины ("") в качестве выражения Empty. |
Если оба выражения expression1 и expression2 являются выражениями типа Variant, порядок их сравнения определяется их базовым типом. В следующей таблице показано, как сравниваются выражения или результат сравнения в зависимости от базового типа Variant.
| Если | Then |
|---|---|
| Оба выражения Variant являются числовыми | Выполните числовое сравнение. |
| Оба выражения Variant являются строками | Выполните строковое сравнение. |
| Одно выражение Variant числовое, а другое строка | Числовое выражение меньше, чем строковое выражение. |
| Одно выражение Variant — Empty, а другое — числовое | Выполните числовое сравнение, используя 0 в качестве выражения Empty. |
| Одно выражение Variant — Empty, а другое — строка | Выполните строковое сравнение, используя строку нулевой длины ("") в качестве выражения Empty. |
| Оба выражения Variant — Empty | Выражения равны. |
Когда переменная Single сравнивается с переменной Double, значение Double округляется до точности типа Single. Если переменная Currency сравнивается с переменной Single или Double, значение Single или Double преобразуется в тип Currency.
Аналогично, когда переменная Decimal сравнивается с переменной Single или Double, значение Single или Double преобразуется в тип Decimal. Для типа Currency любое дробное значение менее чем 0,0001 может быть потеряно; для типа Decimal любое дробное значение менее чем 1E-28 может быть потеряно, или возможно возникновение ошибки переполнения. Потеря такого дробного значения может привести к тому, что два сравниваемых значения будут равны, когда на самом деле они не равны.
Пример
В этом примере показаны различные варианты использования операторов сравнения, которые применяются для сравнения выражений.
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
MyResult = (4 <> 3) ' Returns True.
MyResult = ("5" > "4") ' Returns True.
Var1 = "5": Var2 = 4 ' Initialize variables.
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2) ' Returns True.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.