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имеет вид: