створення макросів у Microsoft Excel

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

Способи запису макросів в Excel

Макрос записується двома способами: автоматично та вручну. Скориставшись першим варіантом, ви просто записуєте певні дії в Microsoft Excel, які виконуєте в даний момент часу. Потім можна буде відтворити цей запис. Такий метод дуже легкий і не вимагає знання коду, але застосування його на практиці досить обмежена. Ручна запис, навпаки, вимагає знань програмування, так як код набирається вручну з клавіатури. Однак грамотно написаний таким чином код може значно прискорити виконання процесів.

Варіант 1: Автоматичний запис макросів

Перш ніж почати автоматичну запис макросів, потрібно включити їх в програмі Microsoft Excel. Для цього скористайтеся нашим окремим матеріалом.

Детальніше: увімкнення та вимкнення макросів у Microsoft Excel

Коли все готово, приступаємо до запису.

  1. Перейдіть на вкладку»Розробник" . Клацніть по кнопці " Запис макросу» , яка розташована на стрічці в блоці інструментів " Код» .
  2. Включение записи макроса в Microsoft Excel
  3. Відкривається вікно налаштування запису макросу. Тут можна вказати будь-яке ім'я для нього, якщо встановлене за замовчуванням вас не влаштовує. Головне, щоб ім'я це починалося з літери, а не з цифри, а також в назві не повинно бути пробілів. Ми залишили назву за замовчуванням – «Макрос1» .
  4. Тут же при бажанні можна встановити поєднання клавіш, при натисканні на які макрос буде запускатися. Першою клавішею обов'язково повинна бути Ctrl , а другу користувач встановлює самостійно. Ми як приклад встановили клавішу М .
  5. Далі слід визначити, де буде зберігатися макрос. За замовчуванням він розташований в цій же книзі (файлі), але при бажанні можна встановити зберігання в новій книзі або в окремій книзі макросів. Ми залишимо значення за замовчуванням.
  6. В самому нижньому полі можна залишити будь-який відповідний по контексту опис макросу, але це робити не обов'язково. Коли всі налаштування виконані, тиснемо на кнопку «OK» .
  7. Настройки записи макроса в Microsoft Excel
  8. Після цього всі ваші дії в даній книзі (файлі) Excel будуть записуватися в макрос до тих пір, поки ви самі не зупините запис.
  9. Для прикладу запишемо найпростіше арифметичне дію: додавання вмісту трьох осередків (=C4+C5+C6).
  10. Формула в Microsoft Excel
  11. Коли алгоритм був виконаний, клацаємо на кнопку " зупинити запис» . Ця кнопка перетворилася з кнопки " Запис макросу» після включення запису.
  12. Остановка записи макроса в Microsoft Excel

Запуск макросу

Для перевірки того, як працює записаний макрос, виконаємо кілька простих дій.

  1. Натискаємо в тому ж блоці інструментів " Код» по кнопці «макроси» або тиснемо поєднання клавіш Alt + F8 .
  2. Переход к запуску макроса в Microsoft Excel

  3. Після цього відкривається вікно зі списком записаних макросів. Шукаємо макрос, який ми записали, виділяємо його і натискаємо на кнопку " виконати» .
  4. Выбор макроса в Microsoft Excel
  5. Можна зробити ще простіше і не викликати навіть вікно вибору макросів, так як на першому етапі ми задали поєднання клавіш для швидкого виклику макросу. У нашому випадку це Ctrl + М . Тиснемо цю комбінацію на клавіатурі, після чого він запускається.
  6. Як бачимо, він виконав в точності всі ті дії, які були записані раніше.
  7. Макрос выполнен в Microsoft Excel

Редагування макросу

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

  1. Знову клацаємо на кнопку «макроси» . У вікні вибираємо потрібний і натискаємо на кнопку " змінити» .
  2. Переход к изменению макроса в Microsoft Excel

  3. Відкривається &171;Microsoft Visual Basic&187; (VBE) – середовище, де відбувається їх редагування.
  4. Microsoft Visual Basic  в Microsoft Excel
  5. Запис кожного макросу починається з команди Sub , а закінчується командою End Sub . Відразу ж після Sub вказується ім'я макросу. Оператор Range("…").Select вказує вибір комірки. Наприклад, при команді «Range(&171;C4&187;).Select» вибирається клітинка &171;C4&187; . Оператор ActiveCell.FormulaR1C1 використовується для запису дій у формулах та інших розрахунків.
  6. Спробуємо трохи змінити макрос, дописавши вираз:

    Range("C3").Select
    ActiveCell.FormulaR1C1 = "11"

  7. Вираз ActiveCell.FormulaR1C1 = "=R[-3]C+R[-2]C+R[-1]C" замінимо на ActiveCell.FormulaR1C1 = "= R[-4]C+R[-3]C+R[-2]C+R[-1]C" .
  8. Изменение макроса  в Microsoft Excel
  9. Закриваємо редактор і запускаємо макрос. Як бачимо, внаслідок введених нами змін була додана додаткова комірка з даними. Вона також була включена в розрахунок загальної суми.
  10. У разі якщо макрос занадто великий, його виконання може зайняти значний час, але внесенням ручного зміни в код ми можемо прискорити процес. Додаємо команду Application.ScreenUpdating = False . Вона дозволить зберегти обчислювальні потужності, а значить, прискорити роботу. Це досягається шляхом відмови від оновлення екрану під час виконання обчислювальних дій. Щоб відновити оновлення після виконання макросу, в його кінці пишемо команду Application.ScreenUpdating = True .
  11. Додамо також команду Application.Calculation = xlCalculationManual в початок коду, а в його кінець дописуємо Application.Calculation = xlCalculationAutomatic . Цим ми спочатку відключаємо автоматичний перерахунок результату після кожної зміни осередків, а в кінці макросу – включаємо. Таким чином, Excel підрахує результат тільки один раз, а не буде його постійно перераховувати, чим заощадить час.
  12. Изменение кода в Microsoft Visual Basic в Microsoft Excel

    Варіант 2: написання коду макросу з нуля

    Просунуті користувачі можуть виконувати не тільки редагування та оптимізацію записаних макросів, але і записувати їх код з нуля.

    1. Щоб приступити до цього, потрібно натиснути на кнопку «Visual Basic» , яка розташована на самому початку стрічки розробника.
    2. Переход к ручному созданию макроса в Microsoft Excel
    3. Відкриється вікно редактора VBE, яке вже було продемонстровано в попередньому варіанті.
    4. Окно редактора VBE в Microsoft Excel
    5. Програміст пише там код макросу вручну.

    Як бачимо, макроси в Microsoft Excel можуть значно спростити виконання рутинних і одноманітних процесів. Проте в більшості випадків для цього більше підходять макроси, код яких написаний вручну, а не автоматично записані дії. Крім того, його код можна оптимізувати через редактор VBE для прискорення процесу виконання завдання.

більше статей на цю тему: