Лекция: Задание 1. Автоматизированное заполнение ячеек таблицы
Ручное заполнение ячеек таблицы какими-либо значениями является достаточно неэффективным в ряде случаев, например, при вычислении значений функции f(x), которые зависят от x. В этом случае удобно прибегнуть к помощьюVBA, создав определенные элементы управления, включив их в структуру книги и назначив им обработку определенных событий.
Постановка задачи.
Создать кнопку, при нажатии на которую заполняется таблицы значений аргумента. Аргумент X изменяется в заданном диапазоне [X0, XK] с приращением Dx.
Ход работы.
1. Создайте папку с названием «Лабораторная_работа_№19».
2. Запустите MS Excel.
3. Перейдите на Лист 2.
4. Переименуйте Лист 2, присвоив ему название «Заполнение».
5. Включите панель инструментов «Элементы управления», щелкнув в области панелей инструментов правой клавишей мыши и выбрав соответствующую команду «Элементы управления», либо с помощью пункта меню Вид → Панели инструментов.
6. На панели инструментов «Элементы управления» включите кнопку «Режим конструктора» .
7. Нарисуйте командную кнопку на листе 2 («Заполнение»).
8. Щелкните правой клавишей мыши на кнопке и выберите Свойства. Отобразится окно Properties (Рис.19.1).
9. Измените свойство Caption (Заголовок) на «Заполнить».
10. Изучите таблицу 19.1 «Свойства компонента Command Button» и установите свойства расположенной кнопки в соответствии с Таблицей 19.2 «Свойства кнопки «Заполнить».
Таблица 19.1
Свойства компонента Command Button
| Свойство | Значение |
| Caption | Заголовок |
| Name | Имя объекта |
Продолжение таблицы 19.1
| Свойство | Значение |
| BackColor | Цвет фона |
| Width | Ширина |
| Height | Высота |
| AutoSize | Авторазмер |
| ForeColor | Цвет текста |
| Visible | Видимость |
| Font | Шрифт |
Таблица 19.2
| Свойство | Значение |
| Caption | Заполнить |
| BackColor | &H80000001& |
| ForeColor | &H000000FF& |
| Font | Courier New, 10, жирный |
11. Выполните двойной щелчок по кнопке. Откроется окно программного кода (Рис.19.2).
12. Введите между строк процедуры следующие операторы и комментарий:
Private Sub CommandButton1_Click()
DimX0, Xk, Dx, X As Double
'X0 — начальное значение X
'Xk — конечное значение X
'Dx — шаг изменения значения X
'X — аргумент X
Dim i As Integer 'переменная-счетчик
Setsht = Worksheets(«Заполнение») 'Программное имя листа, на котором
'будут выполнены изменения
sht.Range(«A:D»).Clear 'Очищаем столбцы на листе sht
sht.Range(«A1») = «N» 'Присваиваем название заголовку ячейки A1
sht.Range(«B1») = «X» 'Присваиваем название заголовку ячейки B1
sht.Range(«C1») = «Y» 'Присваиваем название заголовку ячейки C1
X0 = Val(InputBox(«Введите значение X0:», «X0», «0»)) 'запрос значения X0
Xk = Val(InputBox(«Введите значение Xk:», «Xk», «0»)) 'запрос значения Xk
Dx = Val(InputBox(«Введите значение Dx:», «Dx», «0»)) 'запрос значения Dx
X = X0 'Присваиваем начальное значение аргументу X
i = 2 'значение индекса, указывающего номер строки,
'с которой нужно начинать заполнение
Do While X <= Xk 'начинаем цикл формирования столбца значений X
sht.Cells(i, 1) = i — 1 'в ячейку i 1-го столбца записываем номер строки
sht.Cells(i, 2) = X 'в ячейку i 2-го столбца записываем значение X
X = X + Dx 'берем следующее значение X
i = i + 1 'переходим в следующую строку
Loop 'конец цикла формирования столбцов № и X
MsgBox «Всего в таблице » + CStr(i — 2) + " строк"