Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EPP_VBA_Gornostay_171214.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
546 Кб
Скачать
☆

Создание пользовательских приложений

Цель работы: научиться создавать пользовательские приложения для обработки данных в Excel в среде VBA.

Задание1 Разработать приложение в среде VBA для создания и обработки таблицы в Excel по результатам сдачи студентами экзаменационной сессии.

Обеспечить возможность:

      1. Ввода произвольного количества строк в таблицу, содержащих сведения об индексе группы, фамилии студента и оценках по каждому экзамену.

      2. Вычисление стипендии студентам в зависимости от среднего балла за сессию по установленным нормативам и занесение данных расчета в созданную таблицу.

      3. Сортировку данных в таблице по индексу группы, фамилии студента и размеру стипендии.

      4. Формирование ведомости выдачи стипендии студентам на отдельном листе.

Рекомендуемая последовательность выполнения задания.

  1. Создайте новую книгу Excel и сохраните ее с именем VBA_Tabl.xlsm.

  2. Откройте редактор VBA и импортируйте сохраненные в личной папке формы frm_Fut, frm_Vvod, frm_Ras. frm_Sort и frm_L2 из предыдущей лабораторной работы.

  3. Протестируйте импортированные формы и при необходимости отредактируйте код отдельных процедур.

  4. Запустите форму frmFut и оформите заголовок (шапку) главной таблицы.

  5. Запустите форму frmVvod и введите не менее десяти строк данных о результатах сдачи зимней сессии студентами своего курса.

  6. Рассчитайте стипендию каждому студенту в форме frm_Ras. Используйте действующие на момент расчета нормативы начисления стипендии в зависимости от среднего балла.

  7. Проверьте работу формы frm_Sort по сортировке данных в таблице по заданным в задании критериям.

  8. Создайте на Лист2 ведомость выдачи стипендии студентам, используя форму frm_L2.

  9. Вставьте новую форму в проект VBA_Tabll и оформите ее внешний вид, как показано на рис. 7.1.

  10. Задайте имена объектам на форме и самой форме в соответствии с таблицей 7.1.

Рис. 7.1 Внешний вид формы Меню

Таблица 7.1 Имена элементов на форме Меню

Элемент

Наименование

Имя

Форма

Меню

frm_Menu

Кнопка

Ввод

cmd_Menu1

Кнопка

Расчет

cmd_Menu2

Кнопка

Ведомость

cmd_L2

Кнопка

Сортировка

cmd_Menu3

Кнопка

Выход

cmd_Exit

  1. В окне кода раздела формы frm_Menu введите код:

Private Sub cmd_Menu1_Click()

Load frm_Vvod

frm_Vvod.Show

End Sub

Private Sub cmd_Menu2_Click()

Load frm_Ras

frm_Ras.Show

End Sub

Private Sub cmd_Menu3_Click()

Load frm_L2

frm_L2.Show

End Sub

Private Sub cmd_Menu4_Click()

Load frm_Sort

frm_Sort.Show

End Sub

Private Sub cmd_Menu5_Click()

Unload Me

End

End Sub

  1. Протестируйте работу разработанного приложения. Оцените удобства работы с таблицами с использованием главного меню приложения (форма frm_Menu) по сравнению с вызовом каждой формы вручную.

  2. Создайте кнопку с названием Главное меню на Лист1 книги VBA_Tabl.xlsm для вызова формы frm_Menu созданного приложения после открытия книги.

  3. Самостоятельно добавьте в код программы приложения процедуру вызова главного меню приложения при открытии книги VBA_Tabl.xlsm.

  4. Сохраните книгу VBA_Tabl.xlsm и форму frm_Menu. Оформите отчет по лабораторной работе.

Задание для самостоятельной работы

Вариант 1

  1. Создать таблицу, которая содержит сведения о сотрудниках института.

Структура таблицы:

  • фамилия;

  • пол;

  • название отдела;

  • дата рождения;

  • дата поступления на работу;

  • должность;

  • оклад.

  1. Предусмотреть возможность добавления в таблицу произвольного количества строк.

  2. Рассчитать:

  • стаж работы всех сотрудников;

  • средний стаж работы сотрудников заданного отдела;

  • количество сотрудников с окладом ниже заданного.

  1. Создать на 2 листе книги таблицу, которая содержит список сотрудников пенсионного возраста (на сегодняшний день), указав стаж работы. Учесть разницу в пенсионном возрасте женщины и мужчины.

  2. Сортировать данные в таблице по заданному столбцу.

  3. Увеличить оклад на заданное число процентов лицам со стажем работы выше заданного.

Вариант 2

  1. Создать таблицу, которая содержит сведения о заказе на ремонт оборудования.

Структура таблицы:

  • номер заказа;

  • дата оформления заказа;

  • фамилия заказчика;

  • наименование оборудования;

  • сложность ремонта (низкая, средняя, высокая);

  • стоимость;

  • дата окончания ремонта.

  1. Предусмотреть возможность добавления в таблицу произвольного количества строк.

  2. Определить:

  • суммарную стоимость всех заказов;

  • количество заказов на ремонт заданного вида сложности;

  • минимальную стоимость ремонта.

  1. Создать на 2 листе книги таблицу, которая содержит сведения о продолжительности ремонта заказов, оформленных в течение заданного сезона (например, весной): номер заказа, фамилия заказчика, наименование оборудования, продолжительность заказа.

  2. Сортировать данные в таблице по заданному столбцу.

  3. Увеличить стоимость ремонта на Х% (значение Х задано) у оборудования с заданным наименованием.

Вариант 3

  1. Создать таблицу, которая содержит сведения о междугородных разговорах.

Структура таблицы:

  • фамилия абонента;

  • номер телефона;

  • дата разговора;

  • код города;

  • длительность разговора в минутах;

  • стоимость 1 минуты.

  1. Предусмотреть возможность добавления в таблицу произвольного количества строк.

  2. Определить:

  • максимальную стоимость разговора;

  • суммарную стоимость всех разговоров;

  • общее количество разговоров в город с заданным кодом.

  1. Создать на 2 листе книги таблицу, которая содержит сведения о стоимости разговоров, которые состоялись в интервале между двумя заданными датами.

  2. Сортировать данные в таблице по заданному столбцу.

  3. Увеличить стоимость всех разговоров на Х% (значение Х задано).

  4. Удалить сведения о разговорах абонента с заданной фамилией.

Методические материалы

Краткое описание встроенных функций VBA, которые могут быть полезными при разработке пользовательских приложений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]