Створення макросів
При створенні макросів сама програма Excel записує команди, які необхідно виконати й генерує програмний код у вигляді процедури. Між макросом, що створюється в процесі запису, і VBA-програмою, код якої вводиться вручну, принципової різниці немає. Надалі процедуру макросу можна модифікувати, додаючи нові команди або видаляючи зайві.
Макрос – це послідовність команд і дій користувача, записана й збережена всередині документа так, що Excel виконує записані дії так само, як їх робив користувач. Послідовність дій користувачем виконується один раз при записі макросу, потім автоматично виконується Excel при кожному запуску макросу. Більшість команд, які можна виконати з використанням меню, клавіатури або миші, можна записати в макрос і виконати їх при необхідності. За допомогою макросу можна будувати числові ряди, копіювати таблиці, виконувати перехід на потрібні аркуші, зберігати інформацію, працювати в режимі уведення й т. д. Макрос записується у вигляді процедури із заданим ім’ям у модуль. Ім’я макросу може складатися з букв, цифр і символу підкреслення ( _ ).
Для запису макросу необхідно:
Виконати команду Сервис/Макрос/Начать запись.
У діалоговому вікні Запись макроса задати ім’я макросу й сполучення клавіш для швидкого виконання макросу (рис. 2).
В
иконати
потрібні дії.
Закінчити запис макросу по команді Сервис/Макрос/Остановить запись.
При записі макросу використаються команди меню, кнопки панелі інструментів, ярлички аркушів, клавіатура.
Макрос представляє процедуру, що починається із ключового слова Sub і завершується словом End Sub (див. рис. 5). Перші рядки процедури є коментарями, вони містять ім’я макросу, дату запису, автора й комбінацію клавіш. Далі знаходяться команди, записані за правилами VBA. Кожна команда відповідає виконаній дії.
Створений макрос необхідно виконати, щоб одержати результат його роботи. Для запуску макросу на виконання є кілька способів:
- використати комбінацію клавіші Ctrl і обраної букви;
- виконати команду меню Сервис/Макрос/Макросы. У діалоговому вікні Макрос вказати в списку ім’я потрібного макросу й клацнути на кнопці Выполнить.
- скористатися
кнопкою на панелі інструментів
або
нажати
клавішу F5.
Завдання для лабораторної роботи
Завдання 1. Створити макрос
Необхідно створити макрос з ім’ям “Сума”, що виконує обчислює значення функції W= a + b та перехід на Лист2 у відкритій робочій книзі. Дані вводяться: в діапазон клітинок А2:С2 заголовки стовпців, в клітинки А3 і В3 початкові дані, в клітинку C3 – результат суми значень клітинок А3 і В3 і робить перехід на Лист2.
Для запису макросу виконуємо наступну послідовність дій:
1. Створюємо нову Книга1.xls. Даємо їй назву Сума.xls.
2. Вибираємо команду меню Сервис/Макрос/Начать запись. Відкриється діалогове вікно Запись макроса (див. рис. 2).
3. Вводимо із клавіатури ім’я макросу “Сума” і задаємо сполучення клавіш натисканням на букву “w”. Надалі цей макрос буде виконуватися при натисканні комбінації клавіш Ctrl+w.
4. Клацаємо на кнопці ОК. Якщо була активна панель інструментів Visual Basic, на ній з’явиться кнопка Остановить запись, що говорить про те, що можна виконувати дії для макросу.
5. Переходимо на Лист1, для цього клацаємо на ярличку Лист1.
6. Виділяємо клітинку А1 і вводимо “Обчислення функції W”.
6. Виділяємо клітинку А2 і вводимо змінну ‘a”.
7. Виділяємо клітинку В2 і вводимо змінну “b”.
8. Виділяємо клітинку С2 і вводимо змінну “W”.
9. Виділяємо клітинку А3 і вводимо будь-яке число, наприклад 15.
10. Виділяємо клітинку В3 і вводимо будь-яке число, наприклад 32.
11. Виділяємо клітинку С3 і вводимо формулу =А3+В3.
12. Переходимо на Лист2, для цього клацаємо на ярличку Лист2.
13. Клацаємо
на кнопці Остановить
запись
або вибираємо команду Сервис/Макрос/Остановить
запись для
завершення запису макросу.
Рис. 5. Вид вікна програмного коду з макросом
У результаті наших дій формується процедура. Щоб її переглянути, потрібно виконати команду Сервис/Макрос/Макросы, вибрати у вікні діалогу макрос “Сума” і натиснути кнопку Изменить. Після цього ми попадаємо в режим редактора Visual Basic, де в спеціальному вікні відображається програмний код макросу (рис. 5).
Розглянемо команди створеного макросу.
Range("A1").Select ‘виділення клітинки А1
ActiveCell.FormulaR1C1 = "обчислення функції W" ‘уведення тексту у виділену клітинку
Range("A2").Select ‘виділення клітинки А2
ActiveCell.FormulaR1C1 = "a" ‘уведення тексту a у виділену клітинку
Range("B2").Select ‘виділення клітинки B2
ActiveCell.FormulaR1C1 = "b" ‘уведення тексту b у виділену клітинку
Range("C2").Select ‘виділення клітинки C2
ActiveCell.FormulaR1C1 = "W" ‘уведення тексту W у виділену клітинку
Range("A3").Select ‘виділення клітинки А3
ActiveCell.FormulaR1C1 = "15" ‘уведення числа 15 у виділену клітинку
Range("B3").Select ‘виділення клітинки B3
ActiveCell.FormulaR1C1 = "32" ‘уведення числа 32 у виділену клітинку
Range("C3").Select ‘виділення клітинки С3
ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]" ‘уведення формули у виділену клітинку
Sheets("лист2").Select ‘перехід на Лucm2.
