Макроси програми Microsoft Excel дозволяють значно прискорити роботу з документами в цьому табличному редакторі. Це досягається шляхом автоматизації повторюваних дій, записаних в спеціальний код. Давайте розберемо, як створити макроси в програмі Excel, і як їх можна відредагувати.
зміст
Макрос можна записати двома способами:
Скориставшись першим варіантом, ви просто записуєте певні дії в програмі Microsoft Excel, які виконуєте в даний момент часу. Потім, можна буде відтворити цей запис. Даний спосіб дуже легкий, і не вимагає знання коду, але застосування його на практиці досить обмежене.
Ручна зйомка макросів, навпаки, вимагає знань програмування, так як код набирається вручну з клавіатури. Але, грамотно написаний таким чином код, може значно прискорити виконання процесів.
Перш, ніж почати автоматичну запис макросів, потрібно включити макроси в програмі Microsoft Excel .
Далі, переходимо у вкладку «Розробник». Кількома по кнопці «Запис макросу», яка розташована на стрічці в блоці інструментів «Код».
Відкривається вікно налаштування запису макросу. Тут можна вказати будь-яке ім'я макросу, якщо встановлене за замовчуванням вас не влаштовує. Головне, щоб ім'я це починалося з букви, а не з цифри. Також, в назві не повинно бути пробілів. Ми залишили назву за замовчуванням - «Макрос1».
Тут же, при бажанні, можна встановити поєднання клавіш, при натисканні на які макрос буде запускатися. Першою клавішею обов'язково повинна бути клавіша Ctrl, а другу клавішу користувач встановлює самостійно. Наприклад, ми, як приклад, встановили клавішу М.
Далі, потрібно визначити, де буде зберігатися макрос. За замовчуванням, він буде зберігатися в цій же книзі (фото), але при бажанні можна встановити зберігання в новій книзі, або в окремій книзі макросів. Ми залишимо значення за замовчуванням.
У самому нижньому полі настройки макросів можна залишити будь-яке придатне по контексту опис даного макросу. Але, це робити не обов'язково.
Коли всі налаштування виконані, тиснемо на кнопку «OK».
Після цього, всі ваші дії в даній книзі (фото) Excel будуть записуватися в макрос до тих пір, поки ви самі не зупините запис.
Для прикладу, запишемо найпростіше арифметичне дію: додавання вмісту трьох осередків (= C4 + C5 + C6).
Після цього, тиснемо на кнопку «Зупинити запис». Ця кнопка перетворилася з кнопки «Запис макросу», після включення запису.
Для того, щоб перевірити, як працює записаний макрос, натискаємо в тому ж блоці інструментів «Код» по кнопці «Макрос», або тиснемо клавіші Alt + F8.
Після цього, відкривається вікно зі списком записаних макросів. Шукаємо макрос, який ми записали, виділяємо його, і тиснемо на кнопку «Виконати».
Можна вчинити ще простіше, і не викликати навіть вікно вибору макросів. Ми ж пам'ятаємо, що записали поєднання «гарячих клавіш» для швидкого виклику макросу. У нашому випадку, це Ctrl + М. Набираємо цю комбінацію на клавіатурі, після чого макрос запускається.
Як бачимо, макрос виконав в точності всі ті дії, які були записані раніше.
Для того, щоб відредагувати макрос, знову тиснемо на кнопку «Макрос». У вікні вибираємо потрібний макрос, і натискаємо на кнопку «Змінити».
Відкривається Microsoft Visual Basic (VBE) - середовище, де відбувається редагування макросів.
Запис кожного макросу починається з команди Sub, а закінчується командою End Sub. Відразу ж після команди Sub вказується ім'я макросу. Оператор «Range (« ... »). Select» вказує вибір осередку. Наприклад, при команді «Range (« C4 »). Select» вибирається осередок C4. Оператор «ActiveCell.FormulaR1C1» використовується для запису дій в формулах, і для інших розрахунків.
Спробуємо трохи змінити макрос. Для цього, в макрос допишемо вираз:
Range ( «C3»). Select
ActiveCell.FormulaR1C1 = «11»
Вираз «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 »».
Закриваємо редактор, і запускаємо макрос, як і в минулий раз. Як бачимо, внаслідок введених нами змін була додана ще одна осередок з даними. Вона також була включена в розрахунок загальної суми.
У разі, якщо макрос занадто великий, його виконання може зайняти значний час. Але, шляхом внесення ручного зміни в код, ми можемо прискорити процес. Додаємо команду «Application.ScreenUpdating = False». Вона дозволить зберегти обчислювальні потужності, а значить прискорити роботу. Це досягається шляхом відмови від оновлення екрану під час виконання обчислювальних дій. Щоб відновити оновлення після виконання макросу, в його кінці пишемо команду «Application.ScreenUpdating = True»
Додамо також команду «Application.Calculation = xlCalculationManual» спочатку коду, а в кінці коду дописуємо «Application.Calculation = xlCalculationAutomatic». Цим ми спочатку макросу відключаємо автоматичний перерахунок результату після кожної зміни осередків, а в кінці макросу - включаємо. Таким чином, Excel підрахує результат тільки один раз, а не буде його постійно перераховувати, ніж заощадить час.
Просунуті користувачі можуть виконувати не тільки редагування і оптимізацію записаних макросів, а й записувати код макросів з нуля. Для того, щоб приступити до цього, потрібно натиснути на кнопку «Visual Basic», яка розташована в самому початку стрічки розробника.
Після цього, відкривається знайоме нам вікно редактора VBE.
Програміст пише там код макросу вручну.
Як бачимо, макроси в Microsoft Excel можуть значно прискорити виконання рутинних і одноманітних процесів. Але, в більшості випадків, для цього більше підходять макроси, код яких написаний вручну, а не автоматично записані дії. Крім того, код макросу можна оптимізувати через редактор VBE для прискорення процесу виконання завдання.