Робота з макросами та модулями в Excel Основні прийоми створення макросів використання їх в до

Лабораторна робота



Тема: Робота з макросами та модулями в Excel 

Мета: Навчитися створювати макроси і вносити в них зміни  Ознайомитися Із програмуванням табличних функцій

Теоретичні відомості



Створення макросів

Якщо при роботі з Microsoft Excel у вас виникла необхідність кілька разів виконувати ту саму послідовність дій, то ви можете записати цю послідовність під визначеним ім'ям. Записана під визначеним ім'ям послідовність дій називається макросом. Тобто макрос — це серія команд і функцій, що зберігаються в модулі Visual Basic їх можна виконувати кожен раз, коли необхідно виконати дану задачу Записаний макрос можна викликати для виконання з основного меню, за допомогою кнопки на панелі інструментів, або на робочій області, а також комбінацією клавіш Макрос може бути призначений так само графічному об'єкту

Перед тим як записати або написати макрос, необхідно спланувати кроки і команди, що він буде виконувати Якщо при записі макросу була допущена помилка, й виправлення буде також записано. Щораз при записі макросу, він зберігається в новому модулі, приєднаному до книги.

Макрос записується мовою Visual Basic for Applications Редактор Visual Basic дозволяє змінювати макроси, а також копіювати їх або з одного модуля в Інший, або між різними книгами Крім того, можна перейменовувати модулі, у яких зберігаються макроси, або перейменовувати самі макроси

Для запису макросу потрібно виконати команду Сервіс/Почати запис З'явиться вікно діалогу "Запис макросу"

Починаючи з цього моменту здійснюється запис макросу На екрані з'являється кнопка Зупинити макрос Якщо ви натиснете на цю кнопку, то запис макросу буде закінчено Тепер вам потрібно виконати послідовність дій, що і буде записана в макрос

Після закінчення запису макросу він з'являється в списку макросів Для виклику макросу потрібно виконати команду Сервіс Макрос

У Excel передбачена можливість викликати макрос за допомогою клавіші швидкого виклику чи призначити макросу пункт меню в списку опцій меню Сервіс або функції виконання макросу призначити через панель інструментів Форми - інструменту Кнопка Ці можливості можна реалізувати одночасно Призначити макросу пункт меню чи клавішу швидкого виклику можна до і після того як макрос створений

Макроси можуть записуватися як із застосуванням абсолютних так І відносних посилань За замовчуванням використовуються абсолютні посилання Це означає, що макрос завжди обробляє ті ж комірки, що оброблялися при його записі Щоб обробляти довільні комірки, макрос необхідно записати з відносними посиланнями У меню Сервіс вибрати пункт Запис макросу, потім команду Відносні посилання Відносні посилання будуть використовуватися до кінця поточного сеансу роботи в Excel або до повторного вибору команди Відносні посилання

Розглянемо питання зміни тексту макросу, його видалення і перейменування, запис нової послідовності дій у вже існуючий макрос

Одним зі способів внесення змін у записаний макрос є запис нового макросу Однак це не завжди зручно Розглянемо редагування макросу Для входу в режим редагування макросу потрібно виконати команду Сервіс/Макрос Редагувати можна і безпосередньо в модулі з текстом макросу. Текст макросу розташований у модулі Використовуючи кнопки прокручування аркушів знайдіть модуль і натисніть кнопку миші на його ярличку Перед вами з'явиться текст макросу, записаний мовою Visual Basic Змінюючи текст програми Visual Basic, що реалізує макрос, можна відредагувати макрос Це відкриває великі можливості в написанні власних програм

Якщо макрос призначений клавіші швидкого доступу, графічному об'єкту чи кнопці, то процес видалення є стандартним Ви вибираєте опцію Макрос пункту Сервіс головного меню З'являється вікно діалогу Макрос, що містить список макросів поточної робочої книги Після вибору макросу, досить натиснути кнопку Видалити Макрос можна видалити й іншим способом Якщо макрос записаний в окремому модулі, то потрібно видалити модуль

Часто виникає потреба виправити ім'я чи привласнити макросу зовсім нове найменування Для цього потрібно ввійти в режим редагування макросу й у тексті програми виправити заголовок Нове ім'я автоматично замінить старе в списках макросів

Для призначення макросу графічному об'єкту необхідна наявність такого об'єкта на екрані, а тоді вибрати команду Призначити макрос і зі списку макросів вибрати необхідний



Створення функцій

Завдяки мові Visual Basic з'являється можливість значно розширити набір функцій у Excel, а також створювати функції, значення яких залежать від деяких умов І подій У принципі, можна цілком перепрограмувати усі функції програми Excel, якщо в цьому з'явилася необхідність Для того, щоб викликати VBA, потрібно виконати команду Сервіс /Макрос/Редактор Visual Basic

Щоб створити окремий робочий лист для програмного модуля, потрібно клацнути по піктограмі Insert Module з меню Visual Після цього з'явиться новий робочий лист Modelel У програмному модулі потрібно описати функцію мовою VBA У вікні програмного модуля можна працювати, як у вікні невеликого текстового редактора, але при цьому необхідно пам'ятати, що Ви пишете текст програми Опис функції повинен починатися оператором Function, за яким через пробіл випливають назва функції І ГІ аргументи, вкладені в дужки І розділені комами Потім йде власне текст програмного коду функції, а закінчуватися опис повинний оператором End Function

Якщо в тексті програмного коду ім'я обумовленої функції буде знаходитися лівій частині оператора присвоювання, то привласнене значення і буде результатом обчислення функції при заданих аргументах Як приклад можна розглянути функцію, що обчислює податок з додаткової вартості

Function NDS(Value)

NDS=Value*0 15

End Function

Далі необхідно виконати команду Object Browser з меню VBA View

Функції, визначені користувачем, розглядаються в програмі Excel як самостійні об'єкти У полі Members of Module буде знаходитися ім'я нової функції Викличіть контекстне меню для нової функції І виберіть команду Properties У поле Description вводиться текст для пояснення дій, які виконує функція, що пізніше буде використаний Майсторм функцій Надалі Майстер функцій помістить створену функцію в категорію Визначені користувачем