Включення та вимикання макросів у програмі Microsoft Excel

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

Що таке макрос

У Microsoft Office вбудовано спеціальну мову програмування, завдяки якій людина може записувати певні макрокоманди - макроси. За допомогою таких програм, серферу не потрібно виконувати одні й ті ж команди вручну.


Наприклад: щодня користувачеві потрібно видаляти декілька комірок у таблиці, замість яких вставляється текстова частина документа. Щоб не повторювати подібні дії, можна записати їх, використовуючи макрорекордер. Виконавши всього кілька дій, можна економити час в майбутньому, адже після виклику інструменту, зміни будуть проходити в автоматичному режимі.

Варто зазначити, впоратися із записом зможуть навіть новачки, для виконання роботи непотрібно володіти унікальними знаннями і навичками.

Excel 2003

Для однієї з перших версій 2003 року процес запуску макрокоманди наступний:

  1. На Панелі керування ви шукаєте вкладку Інструменти, потім у спадному списку оберете рядок Макрос і перейдіть до розділу Безпека.
  2. Відкриває нове діалогове вікно, в якому відображаються рівні безпеки. Типово стоїть або високий, або дуже високий ступінь захисту. При такому налаштуванні запустити підпрограму практично неможливо. Тому ставите галочку навпроти самого останнього пункту і натискаєте 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 < - це умова, яка має бути правильною для виконання процедури >

<  Список команд >


COM_SPPAGEBUILDER_NO_ITEMS_FOUND