Процедури VBA

Написання макросів і процедур в VBA редакторі та їх виконання. Урок №9

Макрос – це засіб, за допомогою якого можна описати якусь послідовність дій з метою подальшого її багаторазового виконання. Як правило, макросами називають інструкції, які записуються спеціальними інструментами MS Office (Запис макросу на вкладці Розробник) .

Процедура – це незалежна іменована частина програми, яку після однократного опису можна багаторазово викликати по імені з подальших частин програми для виконання певних дій. На відміну від макросу, процедура – це код, який програміст пише самостійно.

Звідси виходить, що макрос написаний самостійно – це процедура. Відповідно макрос – це теж VBA-програма.

Створення процедури VBA

Перш ніж приступати до написання коду нової процедури, потрібно створити новий модуль (якщо він не був раніше створений), натиснувши InsertModule. Далі потрібно відкрити вікно Code цього модуля, зробивши подвійний клік лівою кнопкою миші по імені цього модуля у вікні Project Explorer. І тільки тепер можна написати код процедури VBA у вікні Code.

Вихідний (програмний) код процедури можна розмістити в будь-якому місці модуля. Для цього потрібно просто помістити курсор в те місце модуля, де ми хочемо почати вводити текст нової процедури.

Процедура починається з оператора Sub і закінчується оператором End Sub. Це ключові слова процедури VBA.

У VBA виділяють два основні типи процедур. Це процедури типу Sub (підпрограми) і процедури типу Function (функції).

Так як модуль може містити кілька процедур, то кожна нова процедура повинна починатися після оператора End Sub попередньої процедури, або перед оператором Sub наступної процедури.

Покрокове створення процедури VBA в додатку MS Word (або Excel):

  1. Відкрити документ Word (Excel).
  2. Активізувати редактор VBA, натиснувши <Alt+F11>, або зробивши клік по кнопці Visual Basic на вкладці Розробник.
  3. У вікні Project Explorer потрібно виділити проєкт того документа, в якому буде створюватися нова процедура.
  4. Додати новий модуль до проєкту, викликавши контекстне меню (клік правою кнопкою миші) і вибравши команду InsertModule.

    За замовчуванням, новий модуль створюється з ім'ям Module(n). Де n – це порядковий номер модуля. Якщо це ваш перший модуль, то його ім'я буде Module1.

    У вікні властивостей, новому модулю можна привласнити яке-небудь інше ім'я. наприклад, «Повідомлення».

  5. Написати процедуру у вікні Code
Sub Повідомлення()
    MsgBox "Здравствуйте. Вы написали свою первую процедуру на VBA."
End Sub

Якщо ви все зробили правильно, то в ході виконання даної процедури, у вікні Word (Excel) буде виведено діалогове вікно з текстом «Здравствуйте. Вы написали свою первую процедуру на VBA.»

Діалогове вікно VBA

Як виконати процедуру VBA

  1. Найшвидший спосіб натиснути в редакторі VBA кнопку Run (або F5).
  2. Запустити процедуру також можна, викликавши діалогове вікно Macros (вибираємо в меню редактора VBA Tools — Macros) і натиснувши в ньому кнопку Run.
  3. Ще один спосіб запуску процедури – вибрати команду меню редактора VBA RunRun Macro (аналог першого варіанту запуску виконання процедури).
  4. Також можна запустити написану нами процедуру з самого документа Word. Для цього потрібно перейти на вкладку Розробник, і зробити клік по кнопці Макрос, у вікні що з'явиться виділити ім'я потрібної процедури (в нашому випадку «Повідомлення») і натиснути на кнопку Виконати.

Створення процедури VBA

Рекомендуємо

Сollaborator

Hosting Ukraine

Продукція та послуги

Main Menu