Розглянемо послідовність дій для створення макросу форматування, обрамлення і заливання попередньо обраних осередків з числами. Макрос перетворить зміст кожного осередку в числовий формат із двома десятковими знаками після коми, малює навколо осередків прямокутник і заливає якимсь кольором.
1. Запустить MS Excel і перейдіть на новий робочий лист.
2. Виділите який-небудь осередок (наприклад, В7) і введіть у неї довільне число.
3. Виділите осередок А1 і виконаєте команду Сервис®Макрос ® Начать запись.
4. Назвіть макрос Format, наберіть для нього короткий опис, задайте комбінацію клавіш і клацніть по кнопці ОК (рис. 1.7).
Рис. 1.7. Діалогове вікно Запись макроса
5. Коли з'явиться панель інструментів Остановка записи, клацніть на кнопці Относительные ссылки (якщо вона ще не натиснута). У результаті макрос зможе обробляти довільні виділені осередки.
6. Клацніть на осередку, що містить число, виконаєте команду Формат®Ячейки, перейдіть на вкладку Число, виберіть формат Числовой с двома десятковими знаками після коми і клацніть по кнопці ОК.
7. Клацніть на стрільці розкриття списку біля кнопки Границы і виберіть необхідний тип контуру (наприклад, тонкий зовнішній контур).
8. Клацніть на стрільці розкриття списку біля кнопки Цвет заливання і виберіть необхідний колір заливання (наприклад, жовтий).
9. Клацніть на кнопці Остановить запись.
Тепер перейдіть у редактор Visual Basic і у вікні Проект клацніть двічі на відповідному макросу модулі Module1 папки Modules. Записаний код макросу, що відповідає усім виконаним діям, буде відображений в окремому вікні. На рис. 1.8 показано, що підзаголовком процедури були автоматично вставлені деякі коментарі, що йдуть у рядку після символу апострофа ' .
Відразу за заголовком і блоком коментарів розташована конструкція для вибору осередків. Вона з'явилася в результаті вибору режиму відносної адресації осередків і наступного виділення осередку В7.
ActiveCell.Offset(6,1).Range("A1").Select
Приведемо необхідні роз'яснення. Об'єкт ActiveCellу даному випадку відноситься до виділеного осередку в активізованому робочому листі (A1). Метод Offset(6,1)зміщає фокус на 6 рядків вниз і на один стовпець вправо, на осередок В7. Метод Range("A1")повертає верхній лівий осередок у діапазоні зсуву. У нашому випадку метод Offsetперетворює у верхній лівий осередок діапазону осередок В7. У випадку вибору декількох осередків, методу Rangeяк аргумент буде переданий діапазон осередків. Нарешті, метод Selectпривласнює новому осередку статус активної.
Рис. 1.8. Код макроса Format.
Далі випливає оператор Selection.NumberFormat, що задає формат висновку чисел в обраному діапазоні. Два наступні рядки визначають діапазон дії інструкцій зміни типу обрамлення. Після визначення типу обрамлення за допомогою відповідної кнопки може одночасно змінюватися кілька властивостей осередку: тип, товщина і колір різних ліній обрамлення. Наприкінці тексту макросу розташовані оператори завдання кольору і типу заливання.
Текст макросу поки не дозволяє форматувати довільні обрані осередки, тому що перший рядок процедури вказує тільки на осередки, що попадають у діапазон 6 рядків вниз і 1 стовпець вправо від поточної осередку. Необхідно видалити інструкції вибору осередків. Крім того, необхідно ще призначити макрос якомусь об'єкту. Для цих цілей виконаємо таку послідовність дій.
1. Видалите чи прокоментуйте перший значущий рядок процедури апострофом ‘ .
2. Перейдіть на необхідний робочий лист щигликом по його імені на лінійці задач.
3. Виконаєте команду Вид® Панели инструментов ® Формы.
4. Виберіть інструмент Кнопка у діалоговому вікні, що з'явилося дію Назначить і намалюйте на робочому листі цей елемент керування.
5. Клацніть на кнопці правою кнопкою і виконаєте з контекстного меню команду Назначить макрос. Виберіть макрос Format і клацніть на кнопці ОК.
6. Виділите курсором миші текст на поверхні кнопки і задайте для неї назву, наприклад, Дес_формат.
7. Уведіть кілька чисел в осередки, виділите їх і клацніть на тільки що створеній кнопці. Виділите трохи інших осередків з числами і запустите макрос безпосередньо зі списку макросів (команда Сервис® Макрос ® Макросы чи комбінація клавіш <Alt+F8>). Виділите ще один набір заповнених осередків і натисніть відповідну макросу комбінацію клавіш. В усіх трьох випадках макрос повинний коректно працювати.
Створений макрос доступний на всіх робочих аркушах книги, а не тільки на тім, на якому він був записаний. Однак запуск макросу там виробляється другим і третім способом, тому що кнопка видна тільки на вихідному листі.