End Sub
End If
Else
End Sub
End If
Else
End Sub
End Sub
В данном примере инструкция Randomize используется для инициализации генератора случайных чисел.
Пример:
Sub Test()
Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1) ' Возвращает 1.
MySign = Sgn(MyVar2) ' Возвращает -1.
MySign = Sgn(MyVar3) ' Возвращает 0.
В данном примере функция Sgn используется для определения знака числа.
В процессе работы с объектом Лист Excel часто возникает необходимость проверки значений ячейки. Для проверки значений ячейки и переменных в VBA существует несколько встроенных функций. Это следующие функции:
· IsNill - Возвращает значение типа Boolean, показывающее, является ли результатом выражения пустое значение (Null)
· IsEmpty - Возвращает значение типа Boolean, показывающее, была ли инициализирована переменная
· IsNumeric - Возвращает значение типа Boolean, показывающее, имеет ли выражение числовое значение
· IsError - Возвращает значение типа Boolean, показывающее, представляет ли выражение значение ошибки
В VBA существуют и другие функции проверки значений. Рассмотрим на примерах применение указанных функций c использованием программной конструкции If … Then … Else … End If.
Пример:
SubTest()
IfIsEmpty(Range("A1")) = True Then
Range("B1") = "Пусто"
Range("B1") = "Значение"
В приведенном выше примере проверяется значение ячейки [A1]. Если ячейка [A1] не инициализирована, т.е. является пустой, то в ячейку [B1] записывается сообщение “Пусто”. В противном случае ячейка содержит некоторое значение и в ячейку [B1] будет выведено сообщение “Значение”.
Пример:
Sub Test()
If IsNumeric(Range("A1")) = True Then
Range("B1") = "Число"
Range("B1") = "Не число"
В приведенном выше примере проверяется значение ячейки [A1]. Если ячейка [A1] содержит некоторое число, т.е. то в ячейку [B1] записывается сообщение “Число”. В противном случае ячейка содержит некоторое значение не являющиеся числом. В связи с этим фактом в ячейку [B1] будет выведено сообщение “Не число”.
Рассмотрим подробнее конструкцию If … Then … Else … End If. Как видно из приведенных примеров данная конструкция проверяет некоторое значение. Если значение соответствует условию, записанному между инструкцией If и ключевым словом Then, то выполняются строки программы находящиеся между ключевыми словами Then и Else. Если значение не соответствует условию, то выполняются строки программы находящиеся между ключевым словом Else и завершением действия ключевого слова If (End If). В общем случае синтаксис программной конструкции If … Then … Else … End Ifимеет вид: