Создание и использование макросов в Excel
Язык макрокоманд VisualBasicApplication (VBA) – основной инструмент для настройки и автоматизации рутинных операций в Excel.
Макрос – это последовательность команд, которая используется для автоматизации некоторых действий Excel, благодаря чему повышается эффективность работы и уменьшается число ошибок.
После создания макроса достаточно запустить его, и целая последовательность операций будет выполнена автоматически. Простейший способ создания макроса – запись последовательности выполняемых вами действий и автоматическое преобразование ее в макрос VBA. Всущности, макрос является программой, при запуске которой Excel вновь выполнит записанную последовательность действий. Рассмотрим пример создания макроса, который будет строить график на Листе2 по данным таблицы на Листе1.
Создаем макрос: Вид→Макросы→Запись макроса. Затем выполняем действия для построения графика: переходим на Лист2, щелкаем по кнопке Мастера диаграмм, переходим на Лист1 и в таблице выделяем данные для отображения на графике – столбцы «Название монитора» и «Цена монитора» (рис. 3.5). Получаем график.
Для запуска макроса необходимо выполнить Вид→Макросы→ выбрать макрос и нажать Выполнить. На Листе2 будет построен график.
Для создания макросов также используют язык программирования VBA. Рассмотрим пример макроса для вычисления площади треугольника.
Сначала создадим макрос, выполнив следующие действия:
Вид→Макросы→Запись макроса→в диалоговом окне задать имя макроса и сохранить (рис. 3.52).
Рис.3.52 Начало записи макроса
Остановить запись (Вид→Макросы→Макросы→Остановить запись). Затем выполнить Вид→Макросы→Макросы→Выбрать макрос в диалоговом окне и нажать на Изменить, попадем в редактор VisualBasic.
Сначала построим форму, выполнив следующие действия: Insert→UserForm. Щелкнув один раз внутри формы, откроем окно с компонентами для формы. Компонентой Commandbuttom1 создаем кнопку, на которой напишем «Вычислить площадь». Для этого выделим компоненту Commandbuttom1 на форме и в окне свойства (Properties) напротив Caption введем «Вычислить площадь».
Рис.3.53 Использование компоненты TextBox
Компонентой TextBox (кнопка с буквами «аb») создадим поля для ввода значений основания и высоты. Компонентой Label (кнопка с буквой «A») подпишем поля (рис. 3.53).
Нажав дважды на кнопку Вычислить площадь, введем текст модуля (рис. 3.54):
Private Sub
Dim a,h,s,c As single
a=TextBox1
h=TextBox2
s=(a*h)/2
c=Str(S)
MsgBox c
End Sub
Рис.3.54 Ввод текста модуля
Запустим макрос на выполнение командами Run→RunSub/UserFormи получим результат (рис. 3.55).
Рис.3.55 Результат работы макроса
Задание 11
Подготовьте макрос для решения по формулам Крамера системы линейных уравнений с матрицей коэффициентов размерностью n*n, где n – номер студента по журналу +2 (см. §8, Задание 7, п.2).