- •Основные операторы vba – Условные операторы
- •Примеры написания пользовательских функций в vba
- •Лекция 2
- •Элементы управления
- •Кнопки перехода с листа на лист, об авторе, о памяти пк
- •Лекция 3
- •Элементы управления Переключатель (OttionButton) и Флажок (CheckBox).
- •Программа для табулирования функции на рабочем листе.
- •Пользовательские формы UserForm
- •Форма «Калькулятор»
- •Форма «Корни квадратного уравнения»
Элементы управления Переключатель (OttionButton) и Флажок (CheckBox).
Элементы управления Переключательпозволяет выбрать одну из нескольких взаимоисключающих альтернатив. Переключатели обычно отображаются группами при помощи элемента управленияРамка . Событиями этого элемента являются действияClickиChange, свойствоCaption(название) отражает комментарий для пользователя, а свойствоValue(значение) может быть равноTrue(истина) илиFalse(ложь). При работе с переключателем удобно использовать условный оператор :
If OptionButton1=True Then
<операторы 1>
Else
<операторы 2>
EndIf.
Элемент управления Флажок позволяет установить несколько одновременно выполняемых действий. Основные события и свойства такие же, как и у Переключателя.
Программа для табулирования функции на рабочем листе.
В приведенном ниже тексте программы с помощью переключателей выбирается одна из
трех функций y(x),g(x) илиf(x) и формируется таблица значений выбранной функции. Эти функции должны быть предварительно созданы в стандартном модуле как пользовательские функции. С помощью флажков можно вывести сумму значений функции и количество строк в таблице.
НА листе содержание создать следующие элементы управления:
Элемент управления |
Свойство Name |
Свойство Caption |
Кнопка CommandButton) |
CmdTab |
Табулирование |
Переключатель (OptionButton) |
OptY |
Функция Y |
Переключатель (OptionButton) |
OptG |
Функция G |
Переключатель (OptionButton) |
OptZ |
Функция Z |
Флажок (CheckBox) |
CheckSum |
Сумма значений функции |
Флажок (CheckBox) |
CheckNumber |
Количество строк в таблице |
Создается в модуле листа «Содержание», связана с кнопкой CmdTab.
Private Sub CmdTab_Click()
Dim x As Double, x0 As Double, xk As Double, dx As Double
Dim i As Integer
Dim c As Range
x0 = InputBox("Введите X0", "Ввод начального значения X", 0)
xk = InputBox("Введите XK", "Ввод конечного значения X", 1)
dx = InputBox("Введите DX", "Ввод приращения X", 0.1)
Range("A:b").Clear ‘ очистить колонки А и В
Range("a1:b1").Borders.LineStyle = 12 ‘Границы диапазона А2:В2 – двойная линия
Range("a1:b1").Interior.Color = RGB(255,0,0) ‘Цвет фона диапазона А2:В2 - красный
Range("A1") = "x": Range("b1") = "y"
x = x0
i = 2
Do While x <= xk
i = i + 1
Cells(i, 1) = x
If OptY Then Cells(i, 2) = y(x)
'If OptG Then Cells(i, 2) = g(x)
'If OptZ Then Cells(i, 2) = z(x)
x = x + dx
Loop
‘ Вычисление суммы
Dim summa As Double
If CheckSum Then
Cells(i + 1, 1) = "Сумма="
For j = 3 To i
summa = summa + Cells(j, 2)
Next j
Cells(i + 1, 2) = summa
End If
‘ вывод количества строк
If CheckNumber Then
MsgBox ("количество строк в таблице= " + CStr(i - 1))
End If
For Each c In Range("a3:b13").Cells
If c.Value <= 0 Then
c.Interior.Color = QBColor(8)
Else
c.Interior.Color = QBColor(7)
End If
Next
End Sub
Пользовательские формы UserForm
Пользовательские формы представляет собой специальное окно для размещения элементов управления. Можно создать собственный проект, в котором вообще не используются рабочие листы книги. Для этого надо активизировать UserFormпри открытии рабочей книги ( событиеWorkBookOpen).
Добавление формы в проект:
-Перейти в редактор VBA( Сервис – Макрос - редакторVBA)
-Выбрать команду Insert – Userform
В окне проекта появится добавленная форма