ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.08.2020

Просмотров: 2521

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

6.3 Приклад виконання лабораторної роботи.

Задача 6.3.1 В клітинці D2 знаходиться число Х. Підрахувати всі степені числа X, які менш ніж 1000. Записати їх на Лист Excel в два стовпчика: в одному стовпці - показник степені, в другому - її значення.

Текст програми

Sub степінь()

Dim x As Single, st As Single

' st – змінна для накопичення значень х в степені

Dim i As Integer, k As Integer ' i - номер строки, k - степінь

Range("A1").Value = "k"

Range("B1").Value = "x^k"

Range("D1").Value = "x"

Range("A1:D1").HorizontalAlignment = xlCenter

Вирівнювання по центру ‘

x = Range("D2").Value

st = x : i = 2 : k = 1

Do

Cells(i, 1).Value = k

Cells(i, 2).Value = st

Cells(i, 2).NumberFormat = "0.0000"

i = i + 1 : st = st * x : k = k + 1

Loop While st < 1000

End Sub

Рис 6.1 Результати роботи програми

Задача 6.3.2 В діапазоні А1:С19 знаходяться числа. Переві­рити чи є серед них числа, що дорівнюють 3. Вивести повідомлення.

Текст програми

Sub задача2()

Dim r As Range

For Each r In Range("A1:С19")

If r.Value = 3 Then

r.Select

MsgBox "Є числo =3"

Exit Sub

' Як тільки зустрічається потрібне число, виділяється клітина,

' що його містить, і відбувається достроковий вихід з процедури

End If

Next

MsgBox "Немає чисел=3"

' Ця частини програми працює тільки, якщо таких значень немає.

End Sub

Р
ис. 6.2 Результати роботи програми

Задача 6.3.3 В діапазоні А1:D20 знаходяться числа, вільні клітки та текст. Знайти середнє арифметичне чисел.

Для розв’язку задачі перевіримо кожну клітину. Підрахуємо кіль­кість клітин, в яких знаходяться числа, обчислимо їх суму й середнє арифметичне, а результат виведемо у вікні та на Лист Excel

Текст програми

Sub задача3()

Dim s As Single, kol As Single

Dim r As Range, i As Integer

' s – сума , kol – кількість

s = 0: kol = 0

For Each r In Range("A1:D20")

m = r.Value

If m <> "" And IsNumeric(m) = True Then

' перевірка того, що в клітині записане число

s = s + r.Value

kol = kol + 1

End If

Next

s = s / kol

' Пошук останнього рядка

i = 2

Do While Cells(i, 1) <> ""

i = i + 1

Loop

Cells(i, 1).Select

' Активізуємо перший вільний рядок

Cells(i, 1).Value = "Середня зарплата дорівнює"

Cells(i, 4).Value = s

Cells(i, 4).NumberFormat = "0.00"

Cells(i, 4).Select

MsgBox "Середнє значення з " & kol & " чисел =" & s

End Sub


Рис. 6.3 Результати роботи програми

Задача 6.3.4 В діапазоні B1:B20 знаходяться числа. Змінить колір фону клітин, що розташовані до мінімального значення.

Текст програми

Sub задача4()

Dim m As Single, r As Range

Dim i As Integer

' знаходження мінімуму

m = Range("B1").Value

For Each r In Range("B1:B20")

If m > r.Value Then m = r.Value

Next

' Розфарбовування

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 Контрольні питання

  1. Елементи керування список і список, що розкривається, їхнє призначення, властивості і події, що з ними зв'язані.

  2. Елемент керування перемикач, його властивості і події, що з ним зв'язані. Об'єднання перемикачів у групу.

  3. Елемент керування лічильник, його властивості і події, що з ним зв'язані. Зв'язування текстового поля з лічильником.

  4. Елемент керування командна кнопка, її властивості і події, що з нею зв'язані.

7.3 Приклад виконання лабораторної роботи

С
творимо форму, що буде додавати запис в приведений на рис. 7.1 список, розташований на Листі Excel.

Рис. 7.1 Список клієнтів готелю

Праворуч списку на Листі Excel розташований вбудований об'єкт – командна кнопка з ім'ям CommandButton1, що викликає на екран діалогове вікно – форму з ім'ям UserForm1. У властивості Caption командної кнопки записаний текст «Реєстрація клієнта», у властивості Font зазначений розмір 10 і жирний.

Щоб вбудувати кнопку на Лист, виконайте наступні дії:

  1. Натисніть кнопку “Конструктор” на панелі інструментів Visual Basic.

  2. Натисніть кнопку «Елементи керування» на панелі інструмен­тів Visual Basic.

  3. Клацніть мишею на елементі керування Кнопка, а потім клацніть на Листі Excel. На Листі з'явиться кнопка з написом CommandButton1.

  4. За допомогою правої кнопки миші викличте контекстне меню кнопки і відкрийте вікно властивостей. Змініть властивості Caption і Font як зазначено вище.

  5. Щоб зв'язати з подією – 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