- •Міністерство освіти і науки України
- •Лабораторна робота №1 Тема “Редактор Visual Basic”
- •1. Вікно редактора
- •2. Вікно проектів
- •3. Вікно властивостей об’єкта
- •Лабораторна робота №2 Тема “Редактор Visual Basic”
- •1. Вікно програми
- •2. Вікно форми
- •Лабораторна робота №3 Тема “Макроси у vba”
- •1.Підпрограми і функції
- •2. Створення макросів
- •3. Редагування макросів
- •4. Установлення параметрів редактора Visual Basic
- •Лабораторна робота №4 Тема “Уведення vba-коду, оператори vba”
- •Лабораторна робота №5 Тема “Типи даних”
- •1. Числовий тип даних
- •2. Символьний тип даних
- •3. Інші типи даних
- •Лабораторна робота №6 Тема “Оголошення і використання змінних”
- •Лабораторна робота №7
- •Лабораторна робота №9 Тема “Взаємодія vba з користувачем”
- •1. Функція MsgBox
- •2. Функція InputBox
- •3. Створення підпрограм і функцій користувача
- •4.2. Програмування форми
- •Процедура, оголошена як “ Private”, може бути використана тільки в даному модулі. Форма використовується для введення даних користувачем і збереження їх у робочій книзі.
- •4.3. Списки, які розгортаються або прокручуються
- •4.4. Використання прапорців, перемикачів і рамок
- •4.5. Використання вимикачів і лічильників
- •4.6. Використання набору сторінок і набору вкладок
- •Завдання (типове) для курсової роботи
- •Приклад виконання
- •Поле-список “Фах”
- •Поле “Коефіцієнт”
- •Кнопка “Наступний”
- •Кнопка “Попередній”
- •Кнопка “Редагувати”
- •Поле-список “Розряд”
- •Поле “Тариф”
- •Активізація форми
- •Кнопка “Вихід”
- •Поле “Відпрацьовано змін”
- •Кнопка “Записати”
Приклад виконання
1. Розроблення електронних таблиць
2. Розрахункові формули
Для встановлення зв’язку між основною таблицею і довідником використовується функція ВПР (адреса клітинки; діапазон клітинок довідника$; номер стовпця довідника).
Дані в поля “Фах” і “Розряд” уводяться за допомогою списку даних.
3. Розроблення форми користувача
4. Вікна властивостей надпису, поля
5. Текст програми
Загальна область
Dim x1, x3, x4, i As Integer
Dim x5, x6, x7, x8, x10, x12, x13, jf, jr, s1 As Double
Dim x2, x9, x11 As String
Dim x0, x20 As Variant
Кнопка “Доповнити”
Private Sub dop_Click()
i = 1
'Змінні
x1 = nom.Text
x2 = pr.Text
x3 = st.Text
x4 = vz.Text
x5 = nar.Text
x6 = pod.Text
x7 = vn.Text
x8 = dv.Text
x9 = fah.Text
x10 = koef.Text
x11 = roz.Text
x12 = tar.Text
x13 = prof.Text
'Кнопки
pop.Enabled = False
nas.Enabled = False
dop.Enabled = False
red.Enabled = False
vid.Enabled = True
zap.Enabled = True
vih.Enabled = False
'Поля
nom.Text = ""
pr.Text = ""
st.Text = ""
vz.Text = ""
nar.Text = ""
pod.Text = ""
vn.Text = ""
dv.Text = ""
fah.Text = ""
koef.Text = ""
roz.Text = ""
tar.Text = ""
prof.Text = ""
'Списки
koef.Text = ""
tar.Text = ""
'Доступ до полів
pr.Enabled = True
st.Enabled = True
vz.Enabled = True
fah.Enabled = True
roz.Enabled = True
'Курсор
pr.SetFocus
End Sub
Поле-список “Фах”
Private Sub fah_Change()
'Нова змінна
x0 = ActiveCell.Address
'Довідник фахів
Range("b3").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = fah.Text Then
jf = ActiveCell.Offset(0, 1).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
'Поле довідника
koef.Text = jf
'Наступний вибір
Range(x0).Select
End Sub
Поле “Коефіцієнт”
Private Sub koef_Change()
'Розрахунок
nar.Text = Str(Int(jf * jr * Val(vz.Text) * 100) / 100)
pod.Text = Str(Int(jf * jr * Val(vz.Text) * 13) / 100)
prof.Text = Str(Int(jf * jr * Val(vz.Text) * 1) / 100)
vn.Text = Str(Int(jf * jr * Val(vz.Text) * 5) / 100)
dv.Text=Str(Int((Val(nar.Text)-Val(pod.Text)-Val(prof.Text)-Val(vn.Text))*100)/100)
End Sub
Кнопка “Наступний”
Private Sub nas_Click()
If ActiveCell.Offset(1, 0).Value <> "" Then
ActiveCell.Offset(1, 0).Select
nom.Text = ActiveCell.Value
pr.Text = ActiveCell.Offset(0, 1).Value
st.Text = ActiveCell.Offset(0, 2).Value
vz.Text = ActiveCell.Offset(0, 5).Value
nar.Text = ActiveCell.Offset(0, 8).Value
pod.Text = ActiveCell.Offset(0, 9).Value
prof.Text = ActiveCell.Offset(0, 10).Value
vn.Text = ActiveCell.Offset(0, 11).Value
dv.Text = ActiveCell.Offset(0, 12).Value
fah.Text = ActiveCell.Offset(0, 3).Value
koef.Text = ActiveCell.Offset(0, 6).Value
roz.Text = ActiveCell.Offset(0, 4).Value
tar.Text = ActiveCell.Offset(0, 7).Value
Else
MsgBox "Останній запис"
End If
End Sub
Кнопка “Попередній”
Private Sub pop_Click()
If ActiveCell.Row > 3 Then
ActiveCell.Offset(-1, 0).Select
nom.Text = ActiveCell.Value
pr.Text = ActiveCell.Offset(0, 1).Value
st.Text = ActiveCell.Offset(0, 2).Value
vz.Text = ActiveCell.Offset(0, 5).Value
nar.Text = ActiveCell.Offset(0, 8).Value
pod.Text = ActiveCell.Offset(0, 9).Value
prof.Text = ActiveCell.Offset(0, 10).Value
vn.Text = ActiveCell.Offset(0, 11).Value
dv.Text = ActiveCell.Offset(0, 12).Value
fah.Text = ActiveCell.Offset(0, 3).Value
koef.Text = ActiveCell.Offset(0, 6).Value
roz.Text = ActiveCell.Offset(0, 4).Value
tar.Text = ActiveCell.Offset(0, 7).Value
Else
MsgBox "Перший запис"
End If
End Sub