Лабораторная работа: Пользовательские функции рабочего листа Visual Basic
Case Is < 0.2
Z=1+ Log(1 + Abs(x))
Case Is <= 0.8
Z=(1+x^(1/2))/(1+x)
Case Else
Z=2*Exp(-2*x)
End Select
End Function
Эту функцию можно запрограммировать с использованием оператора If.
Листинг 6. Пользовательская функция с двумя условиями (вариант 2).
Function функцияZ1(x)
If x < 0.2 Then
функцияZ1 = 1 + Log(1 + Abs(x))
ElseIf x > 3.8 Then
функцияZ1 = 2 * Exp(-2 * x)
Else
функцияZ1 = (1 + x ^ (1 / 2)) / (1 + x)
End If
End Function
Область видимости переменной
В программе все идентификаторы (в частности, имена переменных и функций) имеют определенную область видимости (scope). Область видимости переменной определяет ту область кода, которая "знает" о существовании данной переменной.
Переменная, объединенная внутри функции, не может быть использована или обнаружена вне данной функции. Это означает, что пользователь может использовать то же самое имя переменной в другой функции, и VBA не перепутает их.
Таким образом, для каждой из рассмотренных выше функций нет нужды создавать свой стандартный модуль.
Их все можно расположить в одном модуле, и VBA не запутается.
Код нескольких пользовательских функций в модуле
Примечание. Редактор Visual Basic для облегчения визуального развития местоположения функций в модуле создает между ними разделительные линии. Для того чтобы эти разделительные линии отображались на экране, выберите команду Tools - Options. На экране отобразится диалоговое окно Options. На вкладке Editor в группе Window Settings установите флажок Procedure Separator.
Расчет комиссионных