- •Міністерство освіти і науки україни
- •For Application (vba) у середовищі Microsoft Excel”
- •1 Лабораторна робота №1
- •Стислі теоретичні зведення
- •Створення макросів
- •Планування макросу
- •Запис макросу
- •Виконання макросу
- •Перегляд записаного макросу
- •Завдання для самостійної роботи
- •Контрольні питання.
- •2 Лабораторна робота № 2
- •2.2 Контрольні питання
- •2.3 Приклад виконання лабораторної роботи
- •3 Лабораторна робота №3
- •Обчислити яку суму повинен заплатити клієнт, якщо він придбав товару на м гр.
- •3.2 Контрольні питання:
- •3.3 Приклади розв’язку задач.
- •4 Лабораторна робота №4
- •4.2 Контрольні питання
- •4.3 Приклад виконання лабораторної роботи
- •' Перевіримо, чи можуть числа бути довжинами сторін трикутника
- •' Це трикутник, обчислюємо його площу по формулі Герона
- •5 Лабораторна робота №5
- •5.3 Контрольні питання:
- •5.4 Приклад виконання лабораторної роботи.
- •6 Лабораторна робота №6
- •6.2 Контрольні питання
- •6.3 Приклад виконання лабораторної роботи.
- •Текст програми
- •Текст програми
- •Текст програми
- •Текст програми
- •' Розфарбовування
- •7 Лабораторна робота № 7
- •7.2 Контрольні питання
- •7.3 Приклад виконання лабораторної роботи
- •8 Література
' Розфарбовування
i = 1
Do While Cells(i, 2).Value > m
Cells(i, 2).Interior.ColorIndex = 54
i = i + 1
Loop
End Sub
7 Лабораторна робота № 7
Тема: Створення інтерфейсу користувача для роботи з даними, що зберігаються в таблиці.
Мета роботи: навчитися створювати зручний інтерфейс користувача для роботи на Листі Excel
7.1 Завдання: Створіть форму для введення нових даних у список, який Ви створили за індивідуальним завданням у лабораторній роботі з Excel. Форма повинна викликатися натисканням на кнопку, вбудовану на робочий Лист поруч зі списком, або розміщену на панелі інструментів. У формі повинні бути присутні такі елементи керування: текстове поле, список, що розкривається, перемикач, лічильник і командна кнопка. Програма, призначена на кнопку, повинна знаходити перший вільний рядок наприкінці списку на Листі і заносити в неї дані з елементів керування форми. Величини, , які розраховувалися на Листі Excel за формулами, повинні бути обчислені в програмі, показані в текстових полях форми, а необхідні формули занесені до клітин списку.
7.2 Контрольні питання
-
Елементи керування список і список, що розкривається, їхнє призначення, властивості і події, що з ними зв'язані.
-
Елемент керування перемикач, його властивості і події, що з ним зв'язані. Об'єднання перемикачів у групу.
-
Елемент керування лічильник, його властивості і події, що з ним зв'язані. Зв'язування текстового поля з лічильником.
-
Елемент керування командна кнопка, її властивості і події, що з нею зв'язані.
7.3 Приклад виконання лабораторної роботи
С творимо форму, що буде додавати запис в приведений на рис. 7.1 список, розташований на Листі Excel.
Рис. 7.1 Список клієнтів готелю
Праворуч списку на Листі Excel розташований вбудований об'єкт – командна кнопка з ім'ям CommandButton1, що викликає на екран діалогове вікно – форму з ім'ям UserForm1. У властивості Caption командної кнопки записаний текст «Реєстрація клієнта», у властивості Font зазначений розмір 10 і жирний.
Щоб вбудувати кнопку на Лист, виконайте наступні дії:
-
Натисніть кнопку “Конструктор” на панелі інструментів Visual Basic.
-
Натисніть кнопку «Елементи керування» на панелі інструментів Visual Basic.
-
Клацніть мишею на елементі керування Кнопка, а потім клацніть на Листі Excel. На Листі з'явиться кнопка з написом CommandButton1.
-
За допомогою правої кнопки миші викличте контекстне меню кнопки і відкрийте вікно властивостей. Змініть властивості Caption і Font як зазначено вище.
-
Щоб зв'язати з подією – Click на кнопці миші – процедуру виклику форми, двічі клацніть на кнопці. Відкриється вікно модуля, d якому вже написаний заголовок процедури за таким правилом: спочатку вказується ім'я об'єкта, а потім після символу “ _ ” ( підкреслення) – ім'я події, яка викликає процедуру. Запишемо такий текст:
Sub CommandButton1_Click()
UserForm1.Show ‘ активізація форми з ім'ям UserForm1
End Sub
Тепер перейдемо до конструювання форми для додавання даних про нового клієнта в список. Для цього відкрийте вікно редактора Visual Basic, вставте новий об'єкт UserForm і розмістіть на ньому елементи керування, як показано на мал. 7.2.
У формі розташовані такі елементи керування:
-
Текстове поле TextBox1, розташоване поруч з написом «Прізвище». Стандартні властивості цього поля не змінювалися при конструюванні.
-
Текстове поле TextBox2 для введення імені і по батькові клієнта.
-
Група перемикачів: OptionButton1, у якого властивість Caption замінена на слово «чоловік», і OptionButton2, у якого властивість Caption замінена на слово «жінка».
-
Група прапорців: CheckBox1, у якого властивість Caption замінена на «Оплачено», і CheckBox2, у якого властивість Caption замінена на «Паспорт зданий».
-
Список, що розкривається, ComboBox1. У цього об'єкта була змінена властивість RowSource, для якого зазначений діапазон кліток активного Листа, що містить список усіх типів номерів готелю: М3:М6. У цих клітках містяться такі дані:
-
Клітка
Уміст клітки
М3
Люкс
М4
Одномісний
М5
Двомісний
М6
Тримісний
Рис. 7.2 Діалогове вікно користувача – форма UserForm1 у режимі конструювання.
-
Текстове поле TextBox3 для відображення значення лічильника SpinButton1.
-
Лічильник SpinButton1. Властивість Value цього елемента керування змінюється на 1 при кожнім натиску на одну зі стрілок.
-
Кнопка CommandButton1, властивість Caption цієї кнопки змінена на «ОК». З кнопкою зв'язана процедура занесення даних про клієнта в перший вільний рядок, розташований під списком.
Текст процедури:
Private Sub CommandButton1_Click()
Dim ks As Integer
Range("A1").Select
ks = ActiveCell.CurrentRegion.Rows.Count ' Підрахунок кількості
‘ зайнятих рядків у списку
ActiveCell.Offset(ks, 0).Select ' Активізація першого
‘ вільного рядка списку
ActiveCell.Value = TextBox1.Text ‘ В список пишемо прізвище
ActiveCell.Offset(0, 1).Value = TextBox2.Text ‘ У сусідню клітку
‘ пишемо ім'я і по батькові
If OptionButton1.Value = True Then ‘ Якщо відзначений перший
ActiveCell.Offset(0, 2).Value = "чоловік" ‘ перемикач, то
Else
ActiveCell.Offset(0, 2).Value = "жінка"
End If
ActiveCell.Offset(0, 3).Value = ComboBox1.Value ‘ Записуємо тип
‘ номера, обраний зі списку
If CheckBox1.Value = True Then ‘ Якщо відзначений прапорець
‘ «Оплачено», то
ActiveCell.Offset(0, 4).Value = "так" ‘ записуємо слово «так»
Else
ActiveCell.Offset(0, 4).Value = "ні"
End If
If CheckBox2.Value = True Then ‘ Якщо відзначений прапорець
‘ «Паспорт зданий», то
ActiveCell.Offset(0, 5).Value = "так" ‘ записуємо слово
‘ «так» у п'ятий стовпець
Else
ActiveCell.Offset(0, 5).Value = "ні"
End If
ActiveCell.Offset(0, 6).Value = SpinButton1.Value ‘ У шостий
‘ стовпець пишемо значення лічильника
End Sub
-
Командна кнопка CommandButton2, у якої властивість Caption змінена на слово «Наступний». З цією кнопкою пов'язана процедура, що очищує всі елементи керування у формі, підготовляючи їх для введення даних про нового клієнта.
Текст процедури:
Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
CheckBox1.Value = False
CheckBox2.Value = False
SpinButton1.Value = 0
End Sub
Наступна процедура призначена для відображення значення лічильника в текстовому полі TextBox3:
Private Sub SpinButton1_Change()
TextBox3.Value = SpinButton1.Value
End Sub