- •Міністерство освіти і науки україни
- •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 Література
3.3 Приклади розв’язку задач.
Приклад 3.3.1 Відомі довжини трьох сторін трикутника a, b, c .
Обчислити площу трикутника за формулою Герона:
, де p =(a + b + c)/2;
Програма має вигляд:
Sub Площа()
Dim a As Integer, b As Integer, c As Integer
Dim p As Single, s As Single
a = InputBox("ВВЕДІТЬ ДОВЖИНУ ПЕРШОЇ СТОРОНИ a")
b = InputBox("ВВЕДІТЬ ДОВЖИНУ ДРУГОЇ СТОРОНИ b")
c = InputBox("ВВЕДІТЬ ДОВЖИНУ ТРЕТЬОЇ СТОРОНИ с")
p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
MsgBox ("Площа трикутника =" & CStr(s))
End Sub
Р ис.3.1 Вікно введення
Рис. 3.2 Результат роботи програми
Приклад 3.3.2 Перевірити парна чи непарна сума цифр двозначного числа, розташованого на Листі Excel у клітинці А1. Вивести відповідне повідомлення.
Програма має вигляд:
Sub Приклад2()
Dim a As Integer, s As Integer, d As Integer, e As Integer
Dim st As String
a = Worksheets("Лист1").Cells(2, 1).Value
d = a \ 10
e = a Mod 10
s = d + e
If s Mod 2 = 0 Then
st = "– ПАРНЕ"
Else
st = "– НЕПАРНЕ"
End If
MsgBox ("СУМА ЦИФР =" & s & st)
End Sub
Рис.3.3 Результат роботи програми
Приклад 3.3.3 Співробітникам фірми виплачується річна премія в залежності від стажу роботи:
-
до 1 року – премії немає
-
від 1 до 5 років – 10% від зарплатні
-
більш ніж 5 років – 20% від зарплатні
Обчислити розмір премії робітника, якщо його зарплатня дорівнює Z , а стаж роботи – К.
Програма має вигляд:
Sub Премія()
Dim z As Integer, k As Single, pr As Single
z = InputBox("Введіть зарплатню:")
k = InputBox("Введіть стаж роботи :")
Worksheets("Лист1").Cells(2, 1).Value = z
Worksheets("Лист1").Cells(2, 2).Value = k
Select Case k
Case Is < 1
pr = 0
Case 1 To 5
pr = z * 0.1
Case Is > 5
pr = z * 0.2
End Select
MsgBox ("ПРЕМІЯ =" & CStr(pr))
End Sub
Рис. 3.4 Результати роботи програми
4 Лабораторна робота №4
Тема: створення форм користувача для введення і виведення даних.
Мета роботи: навчитися створювати форми з різними елементами керування.
4.1 Створіть форми для введення, виведення даних та розв’язування тих трьох задач, що Ви виконували в попередній лабораторній роботі.
При створенні форм використовуйте такі елементи керування:
-
текстове поле;
-
командна кнопка.
4.2 Контрольні питання
-
Поняття форми, властивості і методи форми.
-
Елемент керування текстове поле, його властивості, методи і події, що з ним пов'язані.
-
Елемент керування командна кнопка, його властивості і події, що із ним пов'язані.
-
Елемент керування напис, його властивості.
4.3 Приклад виконання лабораторної роботи
Задача: задані три числа – довжини сторін трикутника. Перевірити, чи можуть ці числа бути довжинами сторін трикутника, і якщо можуть, то обчислити площу трикутника по формулі Герона. В іншому випадку програма повинна видавати повідомлення про помилку.
Рішення: для організації введення даних і виведення результатів створимо форму, в якій розмістимо такі елементи керування:
-
Написи Label1, Label2, Label3, Label4, Label5, у яких властивості Caption змінені на тексти, що зазначені на мал. 4.1 Крім того, у написів змінена властивість Font - шрифт, його розмір – 10, і жирність – Bold. Щоб напис виводився в декількох рядках, властивості MultiLine=True, WordWrap=True.
-
Текстові поля TextBox1, TextBox2, TextBox3 для введення трьох чисел – довжин сторін трикутника. У цих об'єктів також змінена властивість Font.
-
Текстове поле TextBox4, розташоване під написом « Ответ: », призначене для виведення результату. У цьому полі буде записуватися площа трикутника або повідомлення про те, що трикутник не існує. Змінена властивість Font, властивості MultiLine=True, WordWrap=True, щоб виводити в полі текст у декілька рядків.
-
К омандна кнопка CommandButton1, з якою зв'язується процедура введення чисел, перевірки існування трикутника й обчислення його площі. У процесі конструювання змінена властивість Caption на текст, що зазначений на кнопці, властивості MultiLine=True, WordWrap=True.
Рис. 4.1 Форма в процесі роботи.
На рис.4.1 наведена форма в процесі роботи. Користувач увів числа в текстові поля і клацнув на кнопці “Вычислить площадь треугольника”. В текстовому полі праворуч унизу – результат роботи програми.
Текст програми для рішення задачі, пов'язаний із командною кнопкою:
Sub CommandButton1_Click()
Dim a As Single, b As Single, c As Single, s As Single, p As Single
If IsNumeric(TextBox1. Text) Then
a = TextBox1. Text
Else
MsgBox "У полі 'а=' повинно бути число", vbCritical + vbOKOnly
TextBox1. SetFocus
End If
If IsNumeric(TextBox2. Text) Then
b = TextBox2. Text
Else
MsgBox "У поле 'b=' повинно бути число", vbCritical + vbOKOnly
TextBox2. SetFocus
End If
If IsNumeric(TextBox3. Text) Then
c = TextBox3. Text
Else
MsgBox "У поле 'c=' повинно бути число", vbCritical + vbOKOnly
TextBox3. SetFocus
End If