Лабораторная работа: Пользовательские функции рабочего листа Visual Basic
Объем продаж за неделю, руб.
Комиссионные, %
от 0 до 9999
8
от 10000 до 19999
10
от 20000 до 39999
12
Более 40000
14
Построим для расчета комиссионных в стандартном модуле пользовательскую функцию (листинг 7).
Листинг 7. Расчет комиссионных
Function Комиссионные1(Продажи)
If Продажи <= 9999 Then
Комиссионные1 = Продажи * 0.08
ElseIf Продажи <= 19999 Then
Комиссионные1 = Продажи * 0.1
ElseIf Продажи <= 39999 Then
Комиссионные1 = Продажи * 0.12
Else
Комиссионные1 = Продажи * 0.14
End If
End Function
Усложним задачу. Будем считать, что комиссионные зависят от ставки, занимаемой менеджером. Если он принят в постоянный штат фирмы, то комиссионные начисляются по описанному выше закону. Если же он находится на испытательном сроке, то его комиссионные составляют 75% от номинала.
Для решения этой задачи к функции Комиссионные1 надо добавить еще один аргумент – Ставка, который и идентифицирует ставку менеджера. Если менеджер находится на испытательном сроке, то значение аргумента Ставка полагается равным 0, а если он зачислен в постоянный штат, то значение аргумента Ставка полагается равным 1. Тогда, функция Комиссионные2 примет вид, представленный в листинге 8.
Листинг 8. Расчет комиссионных с учетом ставки менеджера
Function Комиссионные2(Продажи, Ставка)
Select Case Продажи
Case Is <= 9999