ри настанні будь-яких подій у книзі (відкриття або збереження книги, друк файлу і т.п.).
Модуль листа - доступний через контекстне меню листа, команда Оригінальний текст (View Source). Сюди записують макроси, які повинні виконуватися при настанні певних подій на аркуші (перерахунок або зміна аркуша, копіювання або видалення листа і т.д.).
Будь макрос повинен починатися з оператора Sub, за яким йде ім'я макросу і список аргументів (вхідних значень) в дужках. Якщо аргументів немає, то дужки треба залишити порожніми.
Будь макрос повинен закінчуватися оператором End Sub.
Все, що знаходиться між Sub і End Sub - тіло макросу, тобто команди, які будуть виконуватися при запуску макроса.Xls?
1.9 Запис макросів макрорекордер
макрорекордер - це невелика програма, вбудована в Excel, яка переводить будь-яка дія користувача на мову програмування VBA і записує отриману команду в програмний модуль. Якщо ми включимо макрорекордер на запис, а потім почнемо створювати свій щотижневий звіт, то макрорекордер почне записувати команди слідом за кожним нашим дією і, в підсумку, ми отримаємо макрос створює звіт як якби він був написаний програмістом. Такий спосіб створення макросів не вимагає знань користувача про програмування і VBA і дозволяє користуватися макросами як певним аналогом відеозапису: включив запис, виконав операцію, перемотав плівку і запустив виконання тих же дій ще раз. Природно у такого способу є свої плюси і мінуси:
макрорекордер записує тільки ті дії, які виконуються в межах вікна Microsoft Excel. Як тільки ви закриваєте Excel або перемикаєтеся в іншу програму - запис зупиняється.
макрорекордер може записати тільки ті дії, для яких є команди меню або кнопки в Excel. Програміст ж може написати макрос, який робить те, що Excel ніколи не вмів (сортування за кольором, наприклад або щось подібне).
Якщо під час запису макросу макрорекордер ви помилилися - помилка буде записана. Однак сміливо можете тиснути на кнопку скасування останньої дії (Undo) - під час запису макросу макрорекордер вона не просто возрвращает Вас в попередній стан, але і стирає останню записану команду на VBA.
Щоб включити запис необхідно вибрати в меню Сервіс - Макрос - Почати запис (Tools - Macro - Record New Macro) і налаштувати параметри записуваного макросу у вікні Запис макросу [3]:
Рис. Вікно запису макросу
Ім'я макросу - підійде будь-яке ім'я російською або англійською мовою. Ім'я повинно починатися з літери і не містити пропусків і розділових знаків.
Поєднання клавіш - буде потім використовуватися для швидкого запуску макросу. Якщо забудете поєднання або взагалі його не введете, то макрос можна буде запустити через меню Сервіс - Макрос - Макроси - Виконати (Tools - Macro - Macros - Run).
Зберегти в ... - тут задається місце, куди буде збережено текст макросу, тобто набір команд на VBA з яких і складається макрос.:
Ця книга - макрос зберігається в модуль поточної книги і, як наслідок, буде виконуватися тільки поки ця книга відкрита в Excel
Нова книга - макрос зберігається в шаблон, на основі якого створюється будь-яка нова порожня книга в Excel, тобто макрос буде міститися у всіх нових книгах, створюваних на даному комп'ютері починаючи з поточного моменту
Особиста книга макросів - це спеціальна книга Excel з ім'ям Personal.xls, який використовується як сховище макросів. Всі макроси з Personal.xls завантажуються в пам'ять при старті Excel і можуть бути запущені в будь-який момент і в будь-якій книзі.
Після включення запису і виконання дій, які необхідно записати, запис можна зупинити командою Сервіс - Макрос - Зупинити запис (Tools - Macro - Stop Recording).
Запуск і редагування макросів. Управління всіма доступними макросами проводиться у вікні, яке можна відкрити через меню Сервіс - Макрос - Макроси (Tools - Macro - Macros) [7]:
Рис. Вікно управління макросами
Будь виділений в списку макрос можна запустити кнопкою Виконати (Run).
Кнопка Параметри (Options) дозволяє подивитися і відредагувати поєднання клавіш для швидкого запуску макросу.
Кнопка Змінити (Edit) відкриває редактор Visual Basic (див. вище) і дозволяє переглянути і відредагувати текст макросу на VBA.Xls?
1.10 Створення користувальницьких функцій на VBA
запрограмований завдання excel
Створення користувальниць...