Лабораторная работа №5_7. Разработка пользовательских форм в VBA Чтобы создать новую пользовательскую форму в VBA необходимо находясь в среде VBA выполнить команду Insert(Вcтавить)/UserForm(Форма) и затем в появившемся окне формы необходимо установить его размеры, название (свойство Caption) и необходимые параметры. Из панели элементов управления выбрать необходимые элементы и разместить их на форме. Для того чтобы разместить элемент управления на форме, необходимо указать его мышью и, при нажатой левой кнопке мыши, перемещать его в нужное место на пользовательской форме, затем кнопку мыши отпустить. Исходные данные задаются на форме посредством элементов управления поле (TextBox), поле со списком (ComboBox), список (ListBox), счетчик (SpinButton), полоса прокрутки (ScrollBar). Выходные данные отображаются на форму посредством элементов управления поле, поле со списком, список. Соответствующие надписи на форме осуществляются посредством элемента управления надпись (Label). Для выбора действий используются элементы управления флажок (CheckBox), переключатель (OptionButton), выключатель (ToggleButton). Выполнение и завершение макросов осуществляется посредством элемента управления кнопка (CommandButton). Для вставки рисунков используется элемент управления рисунок (Image), для работы с вкладками и страницами используются элементы управления набор вкладок (TabStrip) и набор страниц (Page) Пользовательская форма для вычисления среднего арифметического значения трех заданных чисел может иметь следующий вид На форме размещено 4 элемента управления поле: TextBox1 – для ввода числа Х, TextBox2 – для ввода числа Y, TextBox3– для ввода числа Z, TextBox4– для вывода результата. Размещено две кнопки: кнопка Выполнить (CommandButton1) - для выполнения основной процедуры, вычисляющей среднее арифметическое значение трех чисел, заданных в полях TextBox и кнопка Выход (CommandButton2) – для завершения работы. Размещено 4 надписи данных, используя 4 элемента управления надпись (Label). Для установления шрифта выводимых данных и надписей необходимо в свойствах (Properties) формы найти свойство Font и нажать в окне (Tahoma) на кнопку для входа в панель установки шрифта. Для установления цвета фона выводимых данных и надписей необходимо в свойствах (Properties) найти свойство BackColor, щелкнуть на нем левой кнопкой мыши и затем выбрать закладку Palette для задания нужного цвета. Аналогичным образом можно установить другие свойства текущего элемента управления. Кнопкой Выполнить вызывается процедура VBA CommandButton1_Click() , имеющая следующий вид: Private Sub CommandButton1_Click() Dim x As Double Dim y As Double Dim z As Double Dim r As Double x = TextBox1.Value y = TextBox2.Value z = TextBox3.Value r = (x + y + z) / 3 TextBox4.Value = r End Sub Кнопкой Выход вызывается процедура VBA CommandButton2_Click(), закрывающая форму UserForm1 Private Sub CommandButton2_Click() UserForm1.Hide End Sub Тексты функций пишутся в среде VBA. Для привязки элементу управления соответствующей процедуры и автоматического входа в редактор текста VBA процедуры необходимо сделать двойной щелчок левой кнопкой мыши на соответствующем элементе управления (кнопке CommandButton). Для запуска пользовательской формы необходимо требуемую UserForm сделать активной и выполнить команду Run Sub/UserForm или нажать клавишу F5. В появившейся форме необходимо набрать в окошках конкретные числовые данные и нажать кнопку Выполнить. Ввод данных и выполнение можно повторять до тех пор пока не будет нажата кнопка Выход Пользовательская форма рассмотренного выше примера (UserForm1) при запуске в Excel имеет следующий вид: Лабораторные задания На VBA составить пользовательские формы для решения следующих задач: 1. Из трех заданных чисел A, B, C найти минимальное число. Исходные данные и результат размещаются в элементах управления поле пользовательской формы. Все поля должны иметь соответствующие надписи. Из трех заданных чисел A, B, C найти число, ближайшее по значению к заданному числу М. Исходные данные и результат размещаются в элементах управления поле пользовательской формы. Все поля должны иметь соответствующие надписи. 3. Вычислить приближенное значение arctg(x) в заданной точке х по формуле 2. 1 1 1 1 2 x 3 x 3 5 x 5 7 x 7 ...., x 1, x3 x5 x7 y arctg ( x) x ...,| x | 1, 3 5 7 1 1 1 1 2 x 3 * x 3 5 x 5 7 x 7 ...., x 1 с заданной точностью еps; Исходные число Х и результат У разместить в элементах управления поле пользовательской формы, сделав соответствующие надписи полей. Точность еps выбирать из списка элемента управления поле со списком. 4. Найти Сумму, Разность, Произведение или Частное двух натуральных чисел m и n. Исходные числа и результат разместить в элементах управление поле пользовательской формы. Для выбора операции использовать элемент управления переключатель; 5. Найти НОД или НОК двух натуральных чисел m и n. Исходные числа и результат разместить в элементах управление поле пользовательской формы. Для выбора операции НОД или НОК использовать элемент управления переключатель; Найти среднее арифметическое и/или среднее геометрическое положительных чисел заданного массива. Исходный массив чисел разместить в диапазоне В1:С10 на листе 1 Excel. Для выбора действия использовать элемент управления флажок. Результат разместить в элементах управления поле пользовательской формы. Найти коэффициенты первой производной многочлена P n(x). Коэффициенты исходного многочлена Pn(x) выбирать из выделенного диапазона листа 1 Excel, коэффициенты полученного многочлена разместить в строке листа 1, начиная с ячейки Е1. В заданном тексте найти первое и последнее слово. Исходный текст задается в элементе управления поле, найденные слова разместить в списке пользовательской формы. В заданном тексте найти слова заданной длины n. Исходный текст задается в элементе управления поле, число n выбирать из элемента управления счетчик, найденные слова разместить в списке пользовательской формы. 6. 7. 8. 9.