Указания по выполнению Лабораторной работы № 5_7. Разработка пользовательских форм в VBA

Задания

На VBA составить пользовательские формы для решения следующих задач:

1. из трех заданных чисел A, B, C найти число, ближайшее по значению к заданному числу М. Исходные данные и результат размещаются в элементах управления поле пользовательской формы. Все поля должны иметь соответствующие надписи.

2. вычислить приближенное значение arctg(x) в заданной точке х по формуле

с заданной точностью е;

Исходные число Х и результат У разместить в элементах управления поле пользовательской формы, сделав соответствующие надписи полей. Точность е выбирать из списка элемента управления поле со списком.

3. найти НОД или НОК двух натуральных чисел m и n. Исходные числа и результат разместить в элементах управление поле пользовательской формы. Для выбора операции НОД или НОК использовать элемент управления переключатель;

4. найти среднее арифметическое и/или среднее геометрическое положительных чисел заданного массива. Исходный массив чисел разместить в диапазоне В1:С10 на листе 1 Excel. Для выбора действия использовать элемент управления флажок. Результат разместить в элементах управления поле пользовательской формы.

5. найти коэффициенты первой производной многочлена Pn(x). Коэффициенты исходного многочлена Pn(x) выбирать из выделенного диапазона листа 1 Excel, коэффициенты полученного многочлена разместить в строке листа 1, начиная с ячейки Е1.

6. в заданном тексте найти слова заданной длины n. Исходный текст задается в элементе управления поле, число n выбирать из элемента управления счетчик, найденные слова разместить в списке пользовательской формы.

Для создания новой пользовательской формы необходимо, находясь в среде VBA выполнить команду Insert(Вcтавить)/UserForm(Форма) и затем в появившемся окне формы установить его размеры, название (свойство Caption) и необходимые параметры.

Одновременно со вставкой формы откроется панель элементов управления (Toolbox) - открыть ее можно также, воспользовавшись меню View/Toolbox. Элементы управления из панели (всего их 16) необходимо разместить на форме. Сама панель выглядит так:

Создание диалогового окна. После выбора необходимых элементов управления для ввода и вывода данных а также кнопок в пользовательской форме будет создано диалоговое окно. Как правило, одна из кнопок будет выбрана в качестве "ОК", то есть с ее нажатием пользователем будет начато выполнение программы - ввод исходных данных, их обработка, и вывод результатов. Для изменения принятой по умолчанию подписи кнопки CommandButton1 на необходимую "ОК" можно переопределить свойство Caption в диалоговом окне Свойства (Properties), которое открывается при нажатии на кнопку. Однако проще будет изменить подпись непосредственно в самой конпке, одним кликом мыши выделив ее, а вторым - открыв соответствующее поле для редактирования. В окне Свойства (Properties) можно также изменить подпись (переопределить свойство Caption) непосредственной всей формы с принятого по умолчанию значения UserForm1 на необходимое.

После размещения в форме элементов управления необходимо написать процедуру обработки события нажатия кнопки ОК. Для этого ее необходимо дважды кликнуть мышью. Активизируется модуль UserForml, в котором будут введены "операторные скобки" Процедуры обработки: Private Sub CommandButtonl Click ()... End Sub.

Обратите внимание, что

· для ввода данных, как правило, используются элементы управления поле (TextBox), поле со списком (ComboBox), список (ListBox), счетчик (SpinButton), полоса прокрутки (ScrollBar).

· Для отображения на форму выходных данных применяются элементы управления поле, поле со списком, список.

· Надписи на форме осуществляются посредством элемента управления надпись (Label).

· Для выбора действий используются элементы управления флажок (CheckBox), переключатель (OptionButton), выключатель (ToggleButton).

· Выполнение и завершение макросов осуществляется посредством элемента управления кнопка (CommandButton).

· Для вставки рисунков используется элемент управления рисунок (Image).

· Для работы с вкладками и страницами используются элементы управления набор вкладок (TabStrip) и набор страниц (MultiPage)

Указания по выполнению заданий:

# Способ ввода/вывода данных Пример
2. Поле (TextBox) x=Val(TextBox1.value) 'воод данных из поля TextBox1.value =Str(y) 'вывод данных в поле Для того, чтобы сделать соответствующую подпись поля, необходимо перенести на форму элемент управления Надпись (Label) и изменить его свойство Caption в диалоговом окне Свойства (Properties) или изменить подпись непосредственно в самой Надписи.
2. Поле со списком (ComboBox) Для ввода данных в список необходимо до "основной" подпрограммы (то есть той, которая "обрабатывает" нажатие на кнопку "ОК") ввести еще одну - вводящую данные в поле со списком. Ниже представлены два варианта - в одном из них данные берутся из ячеек l6, l7 и l8 листа "5.7", а во втором - вычисляются программно. Private Sub UserForm_Activate() Worksheets.Item("5.7").Activate Dim e As Range Set e = Range("l6:l8") Dim a As Variant For Each a In e ComboBox1.AddItem (a) Next a End Sub Или Private Sub UserForm_Initialize() ComboBox1.Clear For i = 1 To 3 ComboBox1.AddItem (10 ^ (-i)) Next i End Sub e=Val(ComboBox1.value)'ввод данных из поля со списком
3. Переключатель (OptionButton) If OptionButton1.Value=True Then... указание. при объединениии двух переключателей в рамку (Frame) сначала разместите на форме рамку.
4. Флажок (CheckBox) If CheckBox1.Value = True Then...
4. Исходный массив чисел разместить в диапазоне (Range) В1:С10 на листе 1 Set A = Worksheets("Лист1").Range("B1:C10")
5. Коэффициенты исходного многочлена выбирать из выделенного диапазона (поле для ввода диапазона - RefEdit) Set A = Range(RefEdit1.Text) Или A = Range(RefEdit1.Value)
6. Cчетчик (SpinButton) Private Sub SpinButton1_Change() TextBox2.Value = SpinButton1.Value End Sub
6. Cписок (ListBox) ListBox1.AddItem (i)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: