Макроси - це інструмент для створення команд у додатку Microsoft Excel, які дозволяють значно скоротити час на виконання завдань, автоматизувавши процес. Але, в той же час, макроси є джерелом уразливості, якою можуть скористатися зловмисники. Тому, користувач на свій страх і ризик повинен вирішити застосовувати дану можливість в конкретному випадку, чи ні. Наприклад, якщо він не впевнений у благонадійності файлу, який відкривається, то краще макросами не користуватися, адже вони можуть послужити причиною зараження комп'ютера шкідливим кодом. З огляду на це, розробники надали можливість користувачеві самому вирішувати питання включення і відключення макросів.
Що таке макрос
У Microsoft Office вбудовано спеціальну мову програмування, завдяки якій людина може записувати певні макрокоманди - макроси. За допомогою таких програм, серферу не потрібно виконувати одні й ті ж команди вручну.
Наприклад: щодня користувачеві потрібно видаляти декілька комірок у таблиці, замість яких вставляється текстова частина документа. Щоб не повторювати подібні дії, можна записати їх, використовуючи макрорекордер. Виконавши всього кілька дій, можна економити час в майбутньому, адже після виклику інструменту, зміни будуть проходити в автоматичному режимі.
Варто зазначити, впоратися із записом зможуть навіть новачки, для виконання роботи непотрібно володіти унікальними знаннями і навичками.
Excel 2003
Для однієї з перших версій 2003 року процес запуску макрокоманди наступний:
- На Панелі керування ви шукаєте вкладку Інструменти, потім у спадному списку оберете рядок Макрос і перейдіть до розділу Безпека.
- Відкриває нове діалогове вікно, в якому відображаються рівні безпеки. Типово стоїть або високий, або дуже високий ступінь захисту. При такому налаштуванні запустити підпрограму практично неможливо. Тому ставите галочку навпроти самого останнього пункту і натискаєте OK.
На замітку! Щоб зміни остаточно набули чинності, необхідно закрити і відкрити редактор. Це загальне правило для всіх поколінь Microsoft Office.
Як увімкнути макроси в Ексель
- Для активації необхідно запустити програму, у верхній лівій частині натиснути на «Файл».
- Відкриється вікно, зупиніться на «Параметри».
- У лівій частині меню, яке запустилося, знайдіть «Безпеку».
- Праворуч клацніть «Параметри центру керування».
- Сторінка перевантажується, і праворуч, у верхньому стовпчику, потрібно встановити галочку поруч з «Увімкнути все».
- Обов'язково підтвердіть дії, вибравши внизу вікна «Ok».
Перш ніж приступити до активації, слід запам'ятати, що:
- Макрорекордер запише всі дії користувача, в тому числі і помилки.
- Записуватися будуть тільки ті дії, які виконуються в Microsoft Excel. При перемиканні на іншу програму запис зупиниться.
- Макрорекордер здатний записати дії, що виконуються серфером вручну.
Щоб Макрос працював коректно, не допускаючи помилок, обов'язково продумайте дії перед початком запису.
Введення в код макроса функцій і процедур
Тепер ускладнимо код макроса, поставивши йому два параметри:
1. Назву місяця звіту запитуємо у користувача.
2. Останній рядок звіту БДР (у разі якщо він плаваючий) розраховується в коді макроса.
Функція InputBox
Щоб запросити у користувача місяць звіту, скористайтеся функцією Inputbox, яка виводить діалогове вікно, в якому користувач може самостійно вказати значення змінної, що використовується в коді. Синтаксис функції InputBox:
Zapros = InputBox («Текст запиту», < «Текст у шапці вікна» >, < ^ Значення за замовчуванням >,...) |
де Zapros - введена вами змінна (ім'я придумуєте ви самі), а в дужках через ком перелічуються аргументи функції.
Зверніть увагу: перший аргумент є обов'язковим, тобто будь-яке діалогове вікно має супроводжуватися пояснювальним текстом, чого ви чекаєте від користувача. Наступні аргументи обов'язковими не є і їх можна не вказувати. Тобто якщо ви бажаєте встановити типове значення, але не хочете писати текст у шапці діалогового вікна, розділіть перший і третій аргументи двома комами, як це буде зроблено в нашому прикладі (див. далі).
Для зручності присвойте отримане значення функції InputBox якійсь введеній вами змінній, особливо якщо в коді макроса ви будете кілька разів використовувати значення цієї функції.
Важливо
Імена змінних не повинні збігатися з уже зайнятими VBA словами під назву об'єктів, властивостей або функцій!
У нашому прикладі присвоїмо результат виклику функції InputBox змінній Mes.
Наприклад, не можна завести свою змінну Range, Cells або Month - компілятор VBA попередить вас, що робити не можна, і не запустить макрос, поки ви не усунете помилку (рис. 6).
Ріс. 6. Приклад помилки при закладі змінної
Не забувайте будь-який текст в коді брати в лапки! Інакше компілятор VBA сприйматиме цей текст як команди і видаватиме помилку, оскільки не зможе їх обробити.
Отже, приступимо до редагування коду макроса. Додамо до самого початку коду макроса рядка:
"Запитуємо у користувача місяць звіту Mes = InputBox («Введіть назву місяця звіту», «Січень») |
Тепер під час запуску макроса буде показано діалогове вікно, в якому користувач самостійно зможе вказати, за який місяць цей звіт (рис. 7).
Ріс. 7. Діалогове вікно для вказування місяця
За допомогою функції InputBox можна запросити у користувача і довжину звіту. Але ми навчимо Excel вираховувати її самостійно. Для цього нам потрібна процедура While.
Процедура While
Використовується в коді, якщо треба зробити однакові дії кілька разів поспіль до тих пір, поки виконується якась умова. Синтаксис процедури While:
Do While < - це умова, яка має бути правильною для виконання процедури > < Список команд > |