Для пользователя часто необходимо создать собственную среду, в которой на специальной форме располагаются все необходимые инструменты для работы. VBA располагает для этого всеми средствами.
Приведем создание проекта «Вычисление площади треугольника по трем известным сторонам» по шагам.
Шаг 1
1. Выполнить Сервис ® Макрос ® Редактор Visual Basic.
2. Вставить форму с помощью меню Insert ® UserForm или кнопкой .
3. Дать внутреннее имя форме Форма_Герон с помощью окна Properties, выставляя свойство (Name) равное Форма_Герон.
4. Присвоить заголовку форму имя Герон с помощью окна Properties, выставляя свойство Caption равное Герон.
5. Создать надпись «Вычисление площади треугольника» с помощью инструмента Надпись панели элементов. При необходимости воспользоваться окном Properties, свойствами Font, Align.
6. В результате получиться следующий рисунок.
Шаг 2
1. Создать блок для ввода данных стороны a с помощью инструмента Поле панели элементов. В окне Properties, присвоить ему свойство (Name) равное a_Textbox.
2. Создать надпись «Сторона A=» с помощью инструмента Надпись панели элементов. При необходимости воспользоваться окном Properties, свойствами Font, Align.
3. В результате получиться следующее.
4. Аналогично создать блоки для ввода значений сторон B, C и вывода площади треугольника S. Для B — b_Textbox, C — c_Textbox, S — s_Textbox.
Шаг 3
1. Создать кнопку «Вычислить!» с помощью инструмента Кнопка панели элементов. В окне Properties, выставить свойства (Name) равное Calc_Button, Caption равное «Вычислить!».
2. Сделать двойной щелчок на кнопке Вычислить! и ввести программный код.
Private Sub Calc_Button_Click() Dim A, b, c, p, s As Double Dim d1, d2, tr_ok As Boolean A = Val(a_TextBox.Value) b = Val(b_TextBox.Value) c = Val(c_TextBox.Value) d1 = (A >= 0) And (b >= 0) And (c >= 0) d2 = (A + b > c) And (A + c > b) And (b + c > A) tr_ok = d1 And d2 If tr_ok Then p = (A + b + c) / 2 s = Sqr(p * (p - A) * (p - b) * (p - c)) s_TextBox.Value = s MsgBox ("s=" + Str(s)) Else MsgBox ("Треугольник не существует") s_TextBox.Value = "Треугольник не существует" End If End Sub
Шаг 4
1. Осуществить запуск формы с помощью Run ® Run Sub/UserForm или с помощью кнопки .