Лабораторная работа: Пользовательские функции рабочего листа Visual Basic
К созданной пользовательской функции можно обратиться через Мастер функций. По умолчанию она попадает в раздел Определенные пользователем списка Категория окна Мастера функций. Используем созданную функцию для определения стоимости товара с учетом НДС при условии, что НДС равен, например, 25 %, а стоимость товара без учета НДС равна 1000.
Алгоритм применения функции пользователя
Разместите данные, необходимые для решения задачи, на рабочем листе как показано на рисунке:
В ячейку А2 введите число 1000 (стоимость без НДС), а в ячейку В2 - число 25 (НДС).
Для определения значения стоимости товара с учетом НДС переместите табличный курсор в ячейку С2 и вызовите Мастер функций (например, командой Вставка - Функция).
В окне Мастера функций в списке Категория найдите значение Определенные пользователем, затем в списке Функция выберите функцию Стоимость и подтвердите свой выбор щелчком по командной кнопке ОК.
В появившемся окне функции Стоимость в полях СтоимостьБезНДС и НДС задайте ссылки на ячейки А2 и В2 с исходными данными для этих аргументов (щелкните левой кнопкой мыши по соответствующим ячейкам, чтобы не набирать вручную с клавиатуры их адреса) и нажмите командную кнопку ОК.
Примечание. Возможность использовать в качестве имен переменных русские названия новая функция может быть легко распознана любым пользователем по ее имени, и смысл параметров функции становится понятным.
Результат вычисления
Пример 2. Создание функции пользователя
Необходимо создать функцию определения суммы заработной платы сотрудника за отработанные дни. Аргументами функции являются: величина месячного оклада сотрудника, количество рабочих дней в месяце, количество отработанных сотрудником дней. Добавьте в проект стандартный модуль командой Insert - Module. В окне модуля наберите код, представленный в листинге 2.
Листинг 2. Пользовательская функция определения суммы заработной платы сотрудника за отработанные дни
Function Зар_плата_отраб_время (Оклад, РабДни, ОтрабДни)
Зар_плата_отраб_время = Оклад / РабДни * ОтрабДни
End Function
Алгоритм применения функции пользователя
Разместите данные, необходимые для решения задачи, на рабочем листе как показано на рисунке:
Переместите табличный курсор в ячейку Е2 и вызовите Мастер функций, в окне Мастера функций в списке Категория выберите пункт Определенные пользователем, затем в списке Функция - функцию Зар_плата_отраб_время и подтвердите свой выбор щелчком по командной кнопке ОК. В появившемся окне функции Зар_плата_отраб_время в полях Оклад, РабДни и ОтрабДни задайте ссылки на ячейки В2, С2 и D2 с исходными данными для этих аргументов и нажмите командную кнопку ОК:
Результат вычисления
Пример 3. Создание функции пользователя с использованием стандартных математических функций
Математические функции
При создании функций пользователю могут потребоваться встроенные в VBA математические функции. Перечень таких функций представлен в таблице 1.