Крім перевірки умовами If...Then...Else та Select Case, ми можемо також використовувати наступні перевірки:
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 'ЯКЩО ОБ'ЄКТ НЕ Є ВИЗНАЧЕНИМ ...
Щоби виконати команди, які базуються на типі змінної, нам буде потрібно використати функцію 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)