- •Методичні вказівки до виконання завдання № 1
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання № 2
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання № 3
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання № 4
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання № 5
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання № 6
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання №7
- •Технологія виконання завдання
- •Методичні вказівки до виконання завдання №8 Тема: Розробка проекту з елементами управління
- •Методичні вказівки
Методичні вказівки до виконання завдання № 6
Тема: Використання інструкцій VBA
Мета: Одержати практичні навички розробки програм у середовищі VBA з використанням керуючих конструкцій мови.
План
Вивчення прикладів використання керуючих конструкцій VBA по методичних матеріалах лабораторної роботи.
Розробка процедури, що передбачає використання умовного оператора Іf і оператора циклу For ... Next.
Призначення процедурі елемента керування - кнопку. Перевірка роботи процедури.
Модифікування процедури, заміною оператора циклу For ... Next на одну з кострукций Do ... Loop. Перевірка роботи процедури.
Технологія виконання завдання
Постановка задачі: Виконати автоматизований облік максимального і мінімального виторгу від продажів продукції фірми "Вектор". Акцентувати увага в створеній звітній таблиці на наступному: для продукції, виторг від продажів якої є максимальної, виконати оформлення осередків напівжирним червоним шрифтом, для продукції з мінімальним виторгом від продажів - нормальним зеленим шрифтом, а для всіх інших - нормальним чорним шрифтом.
Для рішення поставленої задачі необхідно виконати наступні дії:
Відкрити книгу MS Excel з лабораторними роботами.
Перейти на листок "Аналіз попиту".
Уставити новий робочий лист "Автоматизований облік".
Скопіювати фрагмент таблиці "Аналіз попиту і продажів торговельної фірми "Вектор" (стовпці "Код", "Найменування продукції", "Виторг від продажів") у буфер обміну.
Уставити фрагмент таблиці "Аналіз попиту і продажів торговельної фірми "Вектор" на новому листі робочої книги "Автоматизований облік", починаючи з осередку А1 так, щоб заголовок розмістився в першому рядку, шапка таблиці - у другому і третьому рядках, код - в осередках діапазону А4:А10, нименования продукції - в осередках діапазону В4:У10, значення виторгу від реалізації - в осередках діапазону З4:З10.
У середовищі VBA розробити процедуру AvtUchet, що виконує автоматизований облік максимального і мінімального виторгу від продажів продукції.
Примітка. Об'єкт Application через властивість WorksheetFunction надає можливість використовувати в коді убудовані функції робочого листа.
Для зручності роботи з використовувати константи, убудовані в VBA: vbBlack – чорний, vbRed – червоний, vbGreen – зелений.
Перевірити роботу процедури, призначивши їй елемент керування - кнопка.
Модифікувати процедуру, замінивши оператор циклу For ... Next на одну з кострукций Do ... Loop. Перевірити роботу процедури.
Контрольні питання
Охарактеризувати роботу умовного оператора Іf.
Охарактеризувати роботу умовного оператора Select Case
Які логічні відносини можна використовувати в умовних операторах?
Перелічити логічні операції, використовувані у вираженнях.
Які Ви знаєте види циклів? Привести приклад.
Охарактеризувати конструкцію For ... Next
Охарактеризувати конструкцію Do Untіl... Loop
Охарактеризувати конструкцію Do Whіle... Loop
Чому ви навчилися?
Використовувати умовний оператор Іf.
Використовувати конструкцію For ... Next
Використовувати конструкцію Do Untіl... Loop
Використовувати конструкцію Do Whіle... Loop
Результат виконання лабораторної роботи повинний бути представлений у наступному виді:
Відеокадр вихідної таблиці
Листинг модуля VBA з керуючою конструкцією For…. Next має такий вигляд:
Sub AvtUchet()
Dim Imax, iMin, i As Integer
Imax = WorksheetFunction.Max(Range("C4:C10"))
iMin = WorksheetFunction.Min(Range("C4:C10"))
For i = 4 To 10
If Cells(i, 3).Value = Imax Then
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbRed
ElseIf Cells(i, 3).Value = iMin Then
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbGreen
Else
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbBlack
End If
Next i
End Sub