Смекни!
smekni.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Function NDS(Value)

NDS=Value*0 15

End Function

Далі необхідно виконати команду ObjectBrowserз меню VBAView

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