IsNumeric (функция, которую мы использовали в предыдущем уроке) возвращает ПРАВДА (TRUE), если значение является числом, и ЛОЖЬ (FALSE), если - не является числом:
If IsNumeric (Range ("A1")) = True Then 'ЕСЛИ ЗНАЧЕНИЕ ЯВЛЯЕТСЯ ЧИСЛОМ ...
Следующий код дает такой же эффект, как и предыдущий (мы не должны включать = True, так как сама конструкция является проверкой условия):
If IsNumeric (Range ("A1")) = True Then 'ЕСЛИ ЗНАЧЕНИЕ ЯВЛЯЕТСЯ ЧИСЛОМ...
Если мы хотим проверить является ли значение не числом, то мы можем это сделать двумя способами:
If IsNumeric (Range ("A1")) = False Then 'ЕСЛИ ЗНАЧЕНИЕ НЕ ЯВЛЯЕТСЯ ЧИСЛОМ ...
If Not IsNumeric (Range ("A1")) Then 'ЕСЛИ ЗНАЧЕНИЕ НЕ ЯВЛЯЕТСЯ ЧИСЛОМ ...
Давайте рассмотрим еще несколько подобных IsNumeric функций:
If IsDate (Range ("A1")) Then 'ЕСЛИ ЗНАЧЕНИЕ ЯВЛЯЕТСЯ ДАТОЙ ...
If IsEmpty(Range("A1")) Then 'ЕСЛИ ПУСТО ...
If var_object Is Nothing Then 'ЕСЛИ ОБЪЕКТ НЕ ОПРЕДЕЛЕН...
Чтобы выполнить команды, основанные на типе переменной (Variant), нам потребуется использовать функцию VarType .
Список типов переменных появится как только мы введем знак "=":
If VarType(my_variable) = vbInteger Then 'ЕСЛИ my_variable является типом переменной Integer...
Значения констант:
Константа | Значение |
vbEmpty | 0 |
vbNull | 1 |
vbInteger | 2 |
vbLong | 3 |
vbSingle | 4 |
vbDouble | 5 |
vbCurrency | 6 |
vbDate | 7 |
vbString | 8 |
vbObject | 9 |
vbError | 10 |
If VarType(my_variable) = vbInteger Then 'ЕСЛИ my_variable является типом переменной Integer ... 'Является идентичним до: If VarType (my_variable) = 2 Then 'ЕСЛИ my_variable является типом переменной Integer ...
Немного раньше мы использовали следующий фрагмент кода:
my_variable = "Example 12345" If my_variable = "Example 12345" Then ' => ПРАВДА (TRUE)
В этом случае две строки одинаковы, но если мы хотим проверить содержит ли переменная значение "12345" без учета других символов, то нам следует использовать команду Like и оператор * (звездочка) перед и после значения, что мы ищем.
Оператор * (звездочка) расшифровывается как: любой символ или набор символов:
my_variable = "Example 12345" If my_variable Like "*12345*" Then ' => ПРАВДА (TRUE)
Оператор # (решетка) расшифровывается как: любой числовой единичный символ от 0 до 9:
my_variable = "Example 12345" If my_variable Like "Example 12###" Then ' => ПРАВДА (TRUE)
Оператор ? (вопросительный знак) расшифровывается как: любой единичный символ:
my_variable = "Example 12345" If my_variable Like "?xample?1234?" Then ' => ПРАВДА (TRUE)Мы также можем использовать определенные символы или набор символов таким же образом:
my_variable = "Example 12345" If my_variable Like "[DEF]xample 1234[4-7]" Then ' => ПРАВДА (TRUE)
Оператор ! (восклицательный знак) добавлен после знака [ будет означать: любой символ, не включенный в квадратные скобки:
my_variable = "Example 12345" If my_variable Like "[!GHIJ]xample 1234[!6-9]" Then ' => ПРАВДА (TRUE)