- •Лабораторная работа №1. Организация рабочих книг. Организация вычислений.
- •Лабораторная работа №2. Форматирование. Оформление таблиц. Использование функций.
- •Лабораторная работа №3. Использование в формулах абсолютных и относительных ссылок. Связывание рабочих листов.
- •Задание 2.
- •Задание 4. Чистый рабочий лист назовите «Task_4»
- •Создайте электронный аналог Таблицы 14 на этом рабочем листе и проведите анализ затрат транспортных предприятий.
- •Внесите данные о доходах и расходах от эксплуатационной деятельности транспортных предприятий
- •Лабораторная №4. Графические возможности excel
- •Задание 2. Создайте таблицу по образцу Таблица 17.
- •Лабораторная №5. Автозаполнение. Автозавершение. Работа со списками. Создание пользовательских списков. Использование имен ячеек в формулах.
- •Лабораторная работа №6. Использование математических и статистических функций. Защита рабочего листа.
- •Задание 2.
- •Задание 3.
- •Лабораторная работа №7 Использование электронной таблицы как базы данных. Использование функций даты.
- •Лабораторная работа №8 Сортировка и обработка списка. Автофильтр и расширенный фильтр.
- •Лабораторная работа № 9. Организация рабочих книг. Обработка списков.
- •Лабораторная работа № 10 Вычисление итогов. Консолидация данных.
- •Лабораторная работа №11 Создание иерархической структуры таблицы.
- •Лабораторная работа №12. База данных в Еxcel. Обработка данных с помощью формы. Анализ данных
- •9. С помощью функции автоматического вычисления итогов (Данные/ Итоги):
- •Лабораторная работа №13. Построение графиков. Построение графиков функции с двумя условиями.
- •Лабораторная работа №14. Поэлементное сложение, вычитание, умножение и деление двух массивов. Решение системы линейных уравнений
- •Лабораторная работа №15
- •Vba. Пользовательские функции рабочего листа и процедуры
- •Лабораторная работа №16 Автоматизация расчетов
- •Список литературы
- •Дополнительная литература
Лабораторная работа №15
Vba. Пользовательские функции рабочего листа и процедуры
Цель работы: Ознакомиться с методикой создания пользовательских функций, приобрести навыки создания и применения пользовательских функций.
Функции пользователя создаются на рабочем листе с названием модуль VBA, после чего с ними можно работать с помощью мастера функций. По умолчанию созданная функция при выборе с помощью мастера функций относится к категории Определенные пользователем. Общий вид функции пользователя имеет следующий вид:
Function Имя_Функции (список_параметров) Тело_функции End Function
Тело_функции состоит из описательной части и блока операторов, выполняющихся один за другим.
Носителем возвращаемого значения функции пользователя является имя функции. Поэтому в теле функции пользователя, вычисляющей некоторое значение, должен присутствовать, по крайней мере, один оператор, приписывающий имени функции значение какого-либо выражения.
ЗАДАНИЕ 1. Создание функции пользователя с помощью VBA
Откройте MS EXCEL.
Создайте функцию, которая возвращает стоимость товара по его стоимости без НДС и значению ставки НДС. Для этого необходимо:
загрузить редактор VBA командой Сервис–Макрос–Редактор Visual и вставить лист модуля командой Вставка(Insert)–Модуль
в стандартном модуле набрать код пользовательской функции:
Function Стоимость(СтоимБезНДС, НДС) Стоимость=СтоимБезНДС*(1+НДС/100) End Function
3. Проверить сформированную функцию: введите следующие данные в таблицу начиная с ячейки А1 (если Ваши действия будут корректными, то в библиотеке Мастера функций образуется категория Созданные пользователем и в этой категории функция Стоимость:
Таблица 44 – Определение стоимости товара
Стоимость без НДС |
НДС, % |
Стоимость |
1000 |
16 |
=Стоимость(А2;В2) |
5600 |
16 |
=Стоимость(А3;В3) |
ЗАДАНИЕ 2. Менеджеру по продажам необходимо разработать функцию, позволяющую рассчитать комиссионные. Процент комиссионных зависит от объема проданного товара и начисляется по правилу, представленному в таблице 45 (эта таблица в расчетах не участвует):
Таблица 45 – Расчет комиссионных
Объем продаж, тг |
Комиссионные, % |
от 0 до 9999 |
8 |
от 10000 до 19999 |
10 |
от 20000 до 39999 |
12 |
более 40000 |
14 |
1. Для расчета комиссионных необходимо создать в стандартном модуле редактора VBA пользовательскую функцию:
Function Премия(Продажи) If Продажи <= 9999 Then Премия =Продажи*0.08 ElseIf Продажи <= 19999 Then Премия =Продажи*0.1 ElseIf Продажи <= 39999 Then Премия =Продажи*0.12 Else: Премия =Продажи*0.14 End If End Function
2. Рассчитать комиссионные на рабочем листе при помощи пользовательской функции Премия(Х), где аргументом функции Х является объём продаж. Создайте таблицу по ниже приведенному образцу, вводите данные, начиная с ячейки А1:
Сотрудник |
Объем продаж, тг |
Премия |
Ахметов |
1000 |
=Премия(В2) |
Смирнов |
20000 |
=Премия(В3) |
Петрова |
31250 |
=Премия(В4) |
Сабиров |
40000 |
=Премия(В5) |
3. Сделайте изменения в задаче (самостоятельно): комиссионные продавца зависят от ставки, занимаемой менеджером. Если он принят в постоянный штат фирмы, то комиссионные начисляются обычно. Если же он находится на испытательном сроке, то комиссионные составляют 75% от номинала.
ЗАДАНИЕ 3. Создание процедур VBA
1. Перейдите в редактор VBA, нажав комбинацию клавиш Alt+F11. Добавьте в проект стандартный модуль (ВставкаМодуль)
2.Корректно наберите текст программы, соблюдая синтаксис команд
3. Выполните программу, нажав клавишу F5:
Sub ДатаВремя() MsgBox “Сегодня:” & CStr(Now)
MsgBox “Текущее время:” & Time
End Sub
4. Наберите текст процедуры и выполните программу:
Sub ПолноеИмя() Dim Имя, Фам, Отч As String Имя=InputBox(“Введите имя”) Фам=InputBox(“Введите фамилию”) Отч=InputBox(“Введите отчество”) MsgBox(”Ваше полное имя: ” & Фам & ” ” & Имя & ” ” & Отч) End Sub
5. Дополните созданную программу индивидуальной информацией: номер ИИН, место учебы, № группы, № курса
