Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Используется для сравнения выражений.
Синтаксис
результат = 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 и обратная связь.