- •Основные операторы vba – Условные операторы
- •Примеры написания пользовательских функций в vba
- •Лекция 2
- •Элементы управления
- •Кнопки перехода с листа на лист, об авторе, о памяти пк
- •Лекция 3
- •Элементы управления Переключатель (OttionButton) и Флажок (CheckBox).
- •Программа для табулирования функции на рабочем листе.
- •Пользовательские формы UserForm
- •Форма «Калькулятор»
- •Форма «Корни квадратного уравнения»
Пользовательские формы UserForm
Пользовательские формы представляет собой специальное окно для размещения элементов управления. Можно создать собственный проект, в котором вообще не используются рабочие листы книги. Для этого надо активизировать UserFormпри открытии рабочей книги ( событиеWorkBookOpen).
Добавление формы в проект:
-Перейти в редактор VBA( Сервис – Макрос - редакторVBA)
-Выбрать команду Insert – Userform
В окне проекта появится добавленная форма
Форма «Калькулятор»
Private Sub CommandButton1_Click()
Dim x As Double
Dim y As Double
Dim rez As Double
If IsNumeric(TextBox1) Then
a = TextBox1
Else
MsgBox "ВВедите число а"
Exit Sub
End If
If IsNumeric(TextBox2) Then
b = CDbl(TextBox2)
Else
MsgBox "ВВедите число b "
Exit Sub
End If
If OptionButton1.Value = True Then rez = a + b
If OptionButton2.Value = True Then rez = a * b
TextBox3 = rez ' вывод численного результата
If OptionButton1.Value = True Then Label3.Caption = "Summa"
If OptionButton2.Value = True Then Label3.Caption = "Product"
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Форма «Корни квадратного уравнения»
Private Sub CommandButton1_Click()
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double 'дискриминат
Dim x1 As Variant
Dim x2 As Variant
If IsNumeric(TextBox1) And IsNumeric(TextBox2) And IsNumeric(TextBox3) Then
a = TextBox1
b = TextBox2
c = TextBox3
d = b ^ 2 - 4 * a * c
If d > 0 Then
TextBox4.Visible = True
TextBox5.Visible = True
Label4.Caption = "x1"
Label5.Caption = "x2"
x1 = (-b + d ^ 0.5) / 2 / a
x2 = (-b - d ^ 0.5) / 2 / a
TextBox4 = x1
TextBox5 = x2
Else
TextBox4.Visible = False
TextBox5.Visible = False
Label4.Caption = "no solution"
Label5.Caption = " "
x1 = "no solution"
x2 = "no solution"
End If
Else
MsgBox " ВВедите значения a, d и c"
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Форма «Выбор максимального из 2-ух чисел