Робота з макросами в Excel


Макрос – це спеціальна програма, написана на вбудованому в Excel мовою програмування Visual Basic for Application (VBA). Якщо вам часто доводиться виконувати одні і ті ж операції в Ексель, то набагато простіше записати макрос або знайти готовий код макросу, для виконання певних дій в Інтернеті.

У другому випадку, Ви знайдете макрос у вигляді VBA-коду. У цьому зазвичай і полягає питання: як додати макрос в робочий лист Excel, і як ним користуватися.

Як включити макроси в Excel

Щоб Ви могли використовувати макроси в роботі, для початку їх потрібно увімкнути. Клікаємо по кнопочці «Файл», в лівому верхньому кутку, і вибираємо зі списку «Параметри».

Работа с макросами в Excel

У вікні «Параметри Excel» на вкладці «Налаштування стрічки», тепер у правій частині вікна поставте галочку напроти пункту «Розробник» і натисніть «ОК».

Вгорі на стрічці з'явиться нова вкладка «Розробник». На ній і будуть знаходитися всі необхідні команди для роботи з макросами.

Тепер розв'яжемо використання всіх макросів. Знову відкриваємо «Файл» – «Параметри». Переходимо на вкладку «Центр управління безпекою», і в правій частині вікна натискаємо на кнопку «Настройки центру безпеки та конфіденційності.

Клікаємо по вкладці «Настройки макросів», виділяємо маркером пункт «Включити всі макроси» і тиснемо «ОК». Тепер запустіть Excel: закрийте програму і запустіть її знову.

Як вставити макрос в Excel

Важливо розуміти, що макрос можна вставити в модуль, робочий лист, робочу книгу, або вони можуть бути частиною користувальницької форми.

Вставимо код макросу в модуль

Наприклад, потрібно об'єднати декілька комірок в одну без втрати даних. Як відомо, Excel може об'єднувати осередки, зберігаючи дані тільки із лівої верхньої комірки. Щоб зберегти всі дані з об'єднуваних осередків, будемо використовувати VBA-код.

Відкриваємо редактор VBА: переходимо на вкладку «Розробник» і клікаєм по кнопочці «Visual Basic», також можна скористатися комбінацією Alt F11».

З лівого боку редактора, у вікні Project», виділяємо мишкою робочу книгу. Робоча книга – це Ваш відкритий документ Excel, який потрібно вставити макрос. У мене він називається «Книга1».

Клікаємо по вибраному пункту правою кнопкою миші і вибираємо з меню «Insert» – «Module».

У вікні «Project» з'явилася нова папка «Modules», а в ній наш перший модуль з назвою «Module1».

Праворуч з'явиться поле для введення VBA-коду. За допомогою комбінації Ctrl V», вставляю в нього код, який буде об'єднувати кілька осередків, без втрати даних. Назва макросу «MergeCell».

Слідкуйте за тим, куди Ви вставляєте код, це буде написано або в заголовку редактора, або в заголовку вікна для вставки коду. Ми вставляємо код у модуль, відповідно напис – «Modul1(Code)».

Зберігаємо зміни, натиснувши комбінацію «Ctrl S». Якщо Ви використовуєте Excel 2007 і вище, з'явиться вікно збереження документа. У ньому, в полі «Тип файлу» виберіть з випадаючого списку «Книга Excel з підтримкою макросів» та натисніть «Зберегти».

Вставимо код макросу в робочий лист

Наприклад, у нас є список, що випадає. Потрібно зробити так, щоб при виборі декількох значень з нього, вони з'являлися клітинок справа.

Відкриваємо редактор VBA і у віконці «Project» виділяємо потрібний аркуш, якщо їх у книзі кілька, на якому повинен працювати макрос: «Лист1 (Лист1)». Клікаємо по ньому два рази мишкою.

Праворуч з'явитися віконце для введення коду. Зверніть увагу, ми вставляємо код в робочий аркуш, відповідно в заголовку написано «Лист1(Code)». Збережіть зміни в документі, як було описано вище.

Щоб вставити код макросу в робочу книгу, натисніть два рази мишкою по пункту «ЭтаКнига» і вставте код з'явилася в область.

Створимо власну функцію

Наприклад, створимо функцію, яка буде розраховувати ПДВ. У вікні «Project» клікаємо по робочому листу правою кнопкою миші і вибираємо «Insert» – «Module».

У папці «Modules», з'являється другий модуль з назвою «Module2». Прописуємо VBA-код у відповідне вікно, і зберігаємо його, натиснувши «Ctrl S». Називатися функція буде «NDS».

Як запускати макроси в Excel

Тепер розглянемо, як виконуються всі створені раніше макроси в документі Excel.

Якщо макрос був вставлений у модуль, то він запускається користувачем. У мене такий макрос об'єднує декілька комірок в одну без втрати даних.

Виділяємо комірки, які потрібно об'єднати, потім переходимо на вкладку «Розробник» і клікаєм по кнопочці «Макроси».

Відкриється діалогове вікно «Макрос». У списку, вибираємо потрібне ім'я макросу: «MergeCell», і тиснемо «Виконати».

Макрос виконався: потрібні комірки об'єднані, і текст в них збережено.

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

Тепер, коли я вибираю з випадаючого списку значення, воно вписується в осередки, розташовані праворуч від тієї комірки, в якій знаходиться сам список. Це свідчить про виконання макросу.

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

Якщо Ви створили власну функцію, то вставляти в документ її також треба як функцію. У мене така функція повинна розраховувати ПДВ.

Наприклад, застосуємо її до комірки А1, зі значенням «100». Виділяємо комірку, в яку буде вписаний результат. Потім переходимо на вкладку «Формули» і натискаємо кнопочку «Вставити функцію».

Відкриється вікно «Майстер функцій». В полі «Категорія» вибираємо зі списку «Визначені користувачем», в полі «Виберіть функцію» вибираємо назву зі списку: «NDS». Натискаємо «ОК».

Потім виділяю клітинку, для якої потрібно порахувати ПДВ, і натискаю «ОК».

Включити макроси в документі Excel 2010 зовсім не складно. Сподіваюся, Ви також розібралися, як вставити макрос в Excel, а потім виконати його.