- •Vba – (Visual Basic for Application)
- •Структура редактора vba
- •End Sub
- •Зв’язок з даними, розміщеними на робочому листі Microsoft Excel
- •End Sub
- •Таблиця кодів кнопок
- •Лабораторна робота №9
- •Основи мови vba
- •Оператори мови vba
- •Розрахунок контрольного прикладу в Excel
- •Розрахунок контрольного прикладу в Excel
- •Теоретичні відомості та основні поняття об’єктно-орієнтованого та візуального програмування
- •Задача про обмін валют
- •Циклічні алгоритми
- •Знаходження суми та добутку
Розрахунок контрольного прикладу в Excel
Приклад застосування функції sgn() для обчислення від’ємного числа в дробовій степені.
Option Explicit
Public Sub ghjk()
Dim x As Single, y As Single
Do
y = InputBox("Введіть число")
x = Sgn(y) * Abs(y) ^ (1 / 3)
MsgBox "rez=" + Str(x)
Loop While MsgBox("Повторити?", vbYesNo) = vbYes
End Sub
Теоретичні відомості та основні поняття об’єктно-орієнтованого та візуального програмування
Технологія роботи у VBA базується на ідеях об’єктно-орієнтованого та візуального програмування. Ідея об’єктно-орієнтованого програмування – це інкапсуляція (об’єднання) даних та засобів їх опрацювання (методів) у тип, який називається об’єктом.
Приклади: worksheets, chart (діаграма), range (діапазон), userform (форма).
Середовище візуального програмування – це графічна автоматизована оболонка над об’єктно-орієнтованою версією мови VBA.
Основними струтурними одиницями мови VB є дані та команди.
Основними струтурними одиницями мови VBA є візуальний об’єкт, який називається компонентом.
Основні поняття технології візуального програмування:
ПРОЕКТ – сукупність файлів, з яких складається програма
КЛАС – проект, на основі якого буде побудовано конкретний об’єкт.
СІМЕЙСТВО ОБ’ЄКТІВ – об’єкт, який містить декілька однотипних об’єктів.
ПОДІЯ – дія, яка розпізнається об’єктом, і для якої можу дути запрограмовано відгук click, dblclick.
Таким чином дії, які відбуваються в системі є подіями, а відгуки на них – процедури обробки подій.
Властивості – це атрибути об’єкту, які визначають його колір, розмір, видимість, доступність. Події можна задавати 2 способами:
Синтаксис: worksheets(“Лист1”).cells(1,1)
За допомогою вікна PROJECT PROPERTIES.
ФОРМИ
Це об ’єкт – (діалогове вікно) в якому можна розміщувати різні елементи управління.
Форма існує 2 двох станах: режим конструктора (наносимо на форму різні елементи управління) та активний режим (режим роботи з формою).
Щоб отримати форму в режимі конструктора виконуємо дії: Вставка, форма або Insert Userform.На екрані з’являється форма, рядом ПАНЕЛЬ ЕЛЕМЕНТІВ (ToolBox), з якої можна вибирати різнві елементи управління. Вікно редагування Userform підтримує операції буферу обміну, для вилучення елементу управління з форми необхідно його відмітити та натиснути клавішу DEL.
Властивості форми: Name, Caption (title форми).
Задача про обмін валют
Private Sub CommandButton2_Click()
End
End Sub
Private Sub UserForm_Activate()
TextBox3.SetFocus
TextBox4.Enabled = False
OptionButton1.Value = True
TextBox1.Text = 8.6
TextBox2.Text = 8.9
TextBox3.BackColor = QBColor(3)
End Sub
Private Sub OptionButton1_Click()
Label1.Caption = "<--"
Label3.Caption = "Внесіть суму в грн"
End Sub
Private Sub OptionButton2_Click()
Label1.Caption = "-->"
Label3.Caption = "Внесіть суму в дол"
End Sub
Private Sub CommandButton1_Click()
If OptionButton1.Value Then
If Val(TextBox1.Text) = 0 Then
MsgBox "введіть курс долара в textbox1": TextBox4.Text = 0
Else
TextBox4.Text = Format(CDbl(TextBox3.Text) / CDbl(TextBox1.Text), "#0.0#" + "дол")
End If
Else
If Val(TextBox2.Text) = 0 Then
MsgBox "введіть курс долара в textbox2": TextBox4.Text = 0
Else
TextBox4.Text = Format(CDbl(TextBox3.Text) * CDbl(TextBox2.Text), "#0.0#" + "дол")
End If
End If
End Sub
Private Sub TextBox3_Change()
Do
If IsNumeric(TextBox3.Text) Then Exit Do
MsgBox "Введіть число в textbox3"
TextBox3.Text = 0
Exit Sub
Loop While True
End Sub
Private Sub CommandButton3_Click()
Static i
If i < 15 Then i = i + 1 Else i = 0
UserForm1.BackColor = QBColor(i)
End Sub
Private Sub Label2_Click()
Static i
If i < 15 Then i = i + 1 Else i = 0
Label2.ForeColor = QBColor(i)
End Sub