Найти тему
VBA Excel с нуля

VBA Excel № 66. Функции с двумя аргументами в VBA.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Предположим, что руководитель, внедряет новую политику, разработанную для уменьшения текучести кадров: общая сумма комиссионных, подлежащих выплате, увеличивается на 1% за каждый год, который продавец проработал в компании (речь о функции описанной в статье №64.1).

Изменим пользовательскую функцию КОМИССИОННЫЕ на КОМИССИОННЫЕ_ВЫСЛУГА так, чтобы она принимала два аргумента. Новый аргумент представляет количество лет (выслуги, стажа), отработанных сотрудником в компании.

  1. Function КОМИССИОННЫЕ_ВЫСЛУГА(Продажи, Выслуга) As Single
  2. ' Вычисление комиссионных с продаж на
  3. ' основе рабочего стажа в компании
  4. Const Уровень1 = 0.08
  5. Const Уровень2 = 0.105
  6. Const Уровень3 = 0.12
  7. Const Уровень4 = 0.14
  8. Select Case Продажи
  9. Case 0 To 9999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень1
  10. Case 10000 To 19999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень2
  11. Case 20000 To 39999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень3
  12. Case Is >= 40000: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень4
  13. End Select
  14. КОМИССИОННЫЕ_ВЫСЛУГА = КОМИССИОННЫЕ_ВЫСЛУГА + (КОМИССИОННЫЕ_ВЫСЛУГА * Выслуга / 100)
  15. End Function
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Давайте теперь разберем код построчно:

1. Function КОМИССИОННЫЕ_ВЫСЛУГА(Продажи, Выслуга) As Single: Объявляем функцию с двумя аргументами - Продажи и Выслуга. Функция возвращает значение типа Single, что обычно используется для дробных чисел.

2. Мы определяем константы Уровень1, Уровень2, Уровень3 и Уровень4, которые представляют разные ставки комиссии для различных диапазонов продаж.

3. Select Case Продажи: Мы используем оператор Select Case для определения, в каком диапазоне продаж находится значение переменной Продажи.

4. В каждом случае (Case) мы устанавливаем значение КОМИССИОННЫЕ_ВЫСЛУГА в соответствии с соответствующей ставкой комиссии.

5. КОМИССИОННЫЕ_ВЫСЛУГА = КОМИССИОННЫЕ_ВЫСЛУГА + (КОМИССИОННЫЕ_ВЫСЛУГА * Выслуга / 100): Мы увеличиваем значение комиссии на процент, равный выслуге в компании.

На скриншоте приведен пример формулы с использованием этой функции (предполагается, что объем продаж задан в ячейке А1, а количество лет, которые проработал в компании рассматриваемый продавец, указано в ячейке B1).
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Наука
7 млн интересуются