Що таке макрос? Макрос— це збережена послідовність дій чи програма, створена мовою VBA (Visual Basic for Application). Найчастіше питання як написати макрос в Excel? Просто.

Тобто. якщо нам необхідно виконувати ті самі дії кілька разів, ми можемо запам'ятати ці дії і запускати їх однією кнопкою. Я не змушуватиму вас вивчати мову VBA і навіть не пропонуватиму багато стандартних макросів у цій статті. Насправді створити/написати макрос в Excel зможе дійсно кожен. Для цього існує найцікавіша та незвичайна можливість Excel. Макрорекордер(Запис ваших дій у вигляді коду). Тобто. ви можете записати свої дії, як на відео та перевести їх у код (послідовність).

Коротше, якщо ви щодня виконуєте ті самі дії, варто розібратися як автоматизувати цей процес. Читайте далі, як написати макрос у Excel?

1. Дозволити використання макросів

Меню (кругла кнопка вгорі зліва) — Параметри Excel — Центр керування безпекою — Параметри центру керування безпекою — Параметри макросів. Поставте прапорець "Увімкнути всі макроси".

Або зробити те саме на вкладці Розробник

2. Увімкнути меню Розробник для швидкої роботи з макросами

Меню (кругла кнопка вгорі зліва) — Параметри Excel — Основні — Показувати вкладку Розробник.

Щоб створений макрос зберігся у книзі, необхідно зберегти файл у .xlsm або .xlsb.Натисніть кнопку Зберегти як — Книга Excel з підтримкою макросів або Двійкова книга.

Отже, як написати макрос у Excel?

Все просто. Заходимо до Excel. Внизу сторінки під ярликами аркушів є кнопка «Запис макросу».

Натискаємо кнопку, відкривається вікно "Запис макросу". Називаємо макрос як нам подобається в полі Ім'я макросу:. Задаємо поєднання клавіш, якими потім викликатимемо його (не обов'язково).

Тиснемо ОК. Почалися запис Макрорекордера.

Всі. Тепер робимо ті дії, які потрібно запам'ятати макросом. Наприклад, нам потрібно видалити один рядок і розфарбувати комірку А1 жовтим кольором.

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

Як запустити те, що вийшло? Натисніть кнопку , з'явиться вікно Вибір макросу, виберіть потрібний макрос, а потім натисніть кнопку виконати.

Як подивитися, що вийшло? Натисніть кнопку . Виберіть потрібний макрос і натисніть редагувати. Відкриється вікно запису макросів (вікно VBA)

Код макросу повинен вийти приблизно наступним.

Sub Приклад1() " Приклад1 Макрос Rows("2:2").Select Selection.Delete Shift:=xlUp Range("A1").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic.Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub

' - символ коментаря, тобто. цей рядок не бере участі в коді. Для макросу обов'язково наявність імені (Sub Приклад1()) та закінчення (End Sub).

Як створити кнопку для макросу можна прочитати.

Отже, будь-яку свою дію Ви можете записати, щоб потім повторити скільки завгодно!

Як зберегти макрос для всіх книг на своєму комп'ютері можна прочитати.

Для цього використовується файл Personal.

Як запустити макрос за умовою можна прочитати

Успіхів, впевнений вам це чудово знадобитися!

Поділіться нашою статтею у ваших соцмережах:

Грамотно організувати процес роботи в екселі допоможуть такі об'єкти як макроси в Excel.

Розглянемо докладніше всі особливості роботи з цими об'єктами у пакеті програм MS Office.

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

Що таке макроси і навіщо вони потрібні

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

Вони необхідні, щоб не виконувати однотипні завдання та дії по кілька десятків разів.

Їх створення та використання допоможе суттєво заощадити час та максимально автоматизувати роботу в програмі.

Важливо!Завдяки створеному макросу можна миттєво виконувати роботу, тоді як виконання вручну займало б багато часу.

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

З поняттям макросу можна також зіткнутися у програмі Ворд, але в Екселі він має кілька переваг:

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

Створення власних макросів в Excel 2010, 2007, 2013

Розглянемо докладніше приклади створення Excel 2007, 2013:


  • Відкрийте документ, з яким працюєте, і для якого хочете створити макрос. До речі, кожен осередок, над яким провадиться дія повинна бути опрацьована;
  • Відобразіть вкладку розробника у стрічці. Для цього відкрийте пункт меню "Файл" і відкрийте параметри, як показано на малюнку;

  • Потім виберіть параметр стрічки і додайте вікно розробника до списку основних вікон, як це показано на малюнку нижче;

  • Тепер можна перейти безпосередньо до створення самого макросу користувача. Після його створення, кожна комірка буде автоматизована – це означає, що будь-яка комірка документа користувача виконуватиме однотипну дію, яку вкаже користувач;
  • Знайдіть у вкладці розробника спеціальну клавішу створення. Її розташування вказано на малюнку нижче;

  • Натисніть клавішу. З'явиться вікно створення, в якому необхідно вказати ім'я, поєднання клавіш, за допомогою яких він увімкнеться. Також можна додати короткий опис функціонування макросу. Це необхідно зробити, якщо у вас їх забагато, щоб не заплутатися;

  • Далі натисніть "ОК" . Вікно закриється та розпочнеться процес запису. Щоб зупинити записування, натисніть відповідну клавішу на панелі керування;
  • Тепер почніть виконувати дії, які будуть записані в макрос. Кожен осередок при цьому може заповнюватися певними даними.
    Можна також працювати тільки з одним осередком, після запису та включення макросу цей же осередок буде записуватися згідно з зазначеним алгоритмом;
  • Не забудьте натиснути кнопку зупинки запису даних. Після виконання всіх вищенаведених дій він буде записаний і збережений у програмі.

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

Для цього дотримуйтесь наведеної нижче інструкції:


  • На вкладці розробника знайдіть кнопку під назвою «Макроси». Натисніть її;

  • Виберіть потрібний макрос зі списку і натисніть кнопку «Виконати» ;
  • Також запустити необхідний макрос можна за допомогою клавіш, яке було вказано користувачем на початковому етапі його створення;
  • Після натискання кнопки виконати всі дії, які були зроблені під час запису, будуть виконані повторно.

Макрос найзручніше використовувати, коли певний осередок потребує багаторазового копіювання.

Створення та видалення макросів

Макроси створюються за допомогою мови програмування під назвою Visual Basic (або просто абревіатура VB).

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

Вперше технологія створення макросів у програмі Ексель була вдосконалена і стала доступною для використання простими користувачами у версії 2007-го року.

Найзручніше їх створювати у таких версіях Ворда: 2007, 2010, 2013.

Меню макросів

Макрос складається з про макрооператорів. Макрооператор – це і є той набір дій, які він повинен виконати в установленому користувачем порядку.

Існують різні типи операторів.

Деякі навіть можуть виконувати дії, пов'язані з виконанням.

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

Таким чином кожен осередок виконуватиме свою роботу.

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

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

Макрос їх переведе в мову програмування і запам'ятає всі виконані користувачем команди.

Щоб видалити макрос, виконайте інструкції:


  1. Відкрийте вікно керування за допомогою клавіші "Макроси" на головній вкладці розробника;
  2. Виберіть необхідний вам об'єкт і у правій частині вікна натисніть кнопку видалення;

Можливості Excel не обмежуються набором вбудованих функцій. За допомогою написання макросів можна створювати власні функції для виконання нестандартних завдань в Excel.

Наприклад, самостійно написаний макрос можна прив'язати до іконки та вивести на Стрічку меню. Або Ви можете створити функцію користувача (UDF) і використовувати її так само, як і інші вбудовані функції Excel.

Макрос – це комп'ютерний код, написаний для Excel мовою програмування Visual Basic for Applications (VBA). Базові поняття мови програмування VBA розглядаються на нашому сайті в підручнику з VBA. Однак, перш ніж приступити до написання коду VBA, рекомендуємо познайомитися з уроками, в яких розглядається безпека макросів Excel і редактор Visual Basic.

Налаштування дозволу для використання макросів в Excel

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

Редактор Visual Basic

Запис макросів

Інструментарій Excel для запису макросів - це відмінний спосіб ефективно виконувати прості завдання, що повторюються. Також його можна використовувати як допоміжний засіб при написанні складніших макросів.

Підручник Excel VBA

Для тих, хто тільки починає освоювати мову програмування Excel VBA, пропонуємо невеликий вступний курс Visual Basic for Applications.

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

Що таке VBA

Програмування в Excel здійснюється за допомогою мови програмування Visual Basic for Application, яка спочатку вбудована в найвідоміший табличний процесор від Microsoft.

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

Недоліком програми є проблеми, пов'язані із сумісністю різних версій. Вони обумовлені тим, що код програми VBA звертається до функціональних можливостей, які є в новій версії продукту, але відсутні в старій. Також до мінусів відносять надмірно високу відкритість коду для зміни сторонньою особою. Тим не менш, Microsoft Office, а також IBM Lotus Symphony дозволяють користувачеві використовувати шифрування початкового коду та встановлення пароля для його перегляду.

Об'єкти, колекції, властивості та методи

Саме з цими поняттями потрібно розібратися тим, хто має намір працювати у середовищі VBA. Насамперед необхідно зрозуміти, що таке об'єкт. В Excel у цій якості виступають лист, книга, осередок та діапазон. Дані об'єкти мають спеціальну ієрархію, тобто. підкоряються один одному.

Головним з них є Application, що відповідає самій програмі Excel. Потім слідують Workbooks, Worksheets, а також Range. Наприклад, для звернення до осередку A1 на конкретному аркуші слід зазначити шлях з урахуванням ієрархії.

Щодо поняття "колекція", то це група об'єктів того ж класу, яка в записі має вигляд ChartObjects. Її окремі елементи є об'єктами.

Наступне поняття – властивості. Вони є необхідною характеристикою будь-якого об'єкта. Наприклад, для Range це Value або Formula.

Методи – це команди, які показують, що потрібно зробити. При написанні коду VBA їх необхідно відокремлювати від об'єкта точкою. Наприклад, як буде показано надалі, дуже часто при програмуванні в "Ексель" використовують команду Cells (1,1). Вона означає, що необхідно вибрати комірку з координатами

Разом з нею нерідко використовується Selection.ClearContents. Її виконання означає очищення вмісту вибраної комірки.

Як почати

Потім необхідно перейти в додаток VB, для чого достатньо скористатися комбінацією клавіш Alt і F11. Далі:

  • у рядку меню, розташованому у верхній частині вікна, натискають на іконку поруч із іконкою Excel;
  • вибирають команду Mudule;
  • зберігають, натиснувши на іконку із зображенням ;
  • пишуть, скажімо так, малюнок коду.

Він виглядає так:

Sub program ()

"Наш код

Зверніть увагу, що рядок «Наш код» буде виділено іншим кольором (зеленим).

Тепер ви можете написати будь-який код і створити новий інструмент в VBA Excel (приклади програм див. далі). Звичайно, тим, хто знайомий з азами Visual Basic, буде набагато простіше. Однак навіть ті, хто їх не має, за бажання зможуть освоїтися досить швидко.

Макроси в Excel

За такою назвою ховаються програми, написані мовою Visual Basic for Application. Таким чином, програмування в Excel це створення макросів з потрібним кодом. Завдяки цій можливості табличний процесор Microsoft саморозвивається, підлаштовуючись під вимоги конкретного користувача. Розібравшись з тим, як створювати модулі для написання макросів, можна починати розгляд конкретних прикладів програм VBA Excel. Найкраще почати з найпростіших кодів.

Приклад 1

Завдання: написати програму, яка копіюватиме значення вмісту однієї комірки і потім записуватиме в іншу.

Для цього:

  • відкривають вкладку "Вид";
  • переходять на піктограму "Макроси";
  • тиснуть на «Запис макросу»;
  • заповнюють форму, що відкрилася.

Для простоти в полі "Ім'я макросу" залишають "Макрос1", а в поле "Поєднання клавіш" вставляють, наприклад, hh (це означає, що запустити програму можна буде бліц-командою "Ctrl + h"). Натискають клавішу Enter.

Тепер, коли вже запущено запис макросу, роблять копіювання вмісту будь-якої комірки в іншу. Повертаються на вихідну піктограму. Натискають на «Запис макросу». Ця дія означає завершення програми.

  • знову переходять на рядок "Макроси";
  • у списку обирають "Макрос 1";
  • натискають «Виконати» (та сама дія запускається початком поєднання клавіш «Ctrl+hh»).

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

Має сенс побачити, як виглядає код. Для цього знову переходять на рядок "Макроси" і натискають "Змінити" або "Увійти". В результаті опиняються в середовищі VBA. Власне, сам код макросу знаходиться між рядками Sub Макрос1() та End Sub.

Якщо копіювання було виконано, наприклад, з комірки А1 в комірку C1, один із рядків коду буде виглядати, як Range(“C1”).Select. У перекладі це виглядає як «Діапазон(“C1”). Виділити», іншими словами здійснює перехід у VBA Excel, в комірку С1.

Активну частину коду завершує команда ActiveSheet.Paste. Вона означає запис змісту виділеного осередку (в даному випадку А1) у виділений осередок С1.

Приклад 2

Цикли VBA допомагають створювати різні макроси в Excel.

Цикли VBA допомагають створювати різні макроси. Припустимо, що функція y=x + x 2 + 3x 3 - cos(x). Потрібно створити макрос для отримання графіка. Зробити це можна лише за допомогою циклів VBA.

За початкове та кінцеве значення аргументу функції беруть x1=0 та x2=10. Крім того, необхідно ввести константу - значення для кроку зміни аргументу та початкове значення для лічильника.

Всі приклади макросів VBA Excel створюються за тією ж процедурою, що представлена ​​вище. У даному конкретному випадку код виглядає як:

Sub programm()

shag = 0.1

Do While x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Cells(i, 1).Value = x1 (значення x1 записується в комірку з координатами (i,1))

Cells(i, 2).Value = y (значення y записується в комірку з координатами (i,2))

i = i + 1 (діє лічильник);

x1 = x1 + shag (аргумент змінюється на величину кроку);

End Sub.

В результаті запуску даного макросу в "Ексель" отримуємо два стовпці, у першому з яких записано значення для x, а в другому - для y.

Потім за ними будується графік способом, стандартним для "Ексель".

Приклад 3

Для реалізації циклів у VBA Excel 2010, як і в інших версіях, поряд із наведеною конструкцією Do While використовується For.

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

Спочатку потрібно створити макрос, як описано вище. Далі записуємо код. Вважаємо, що нас цікавлять значення для 10 осередків. Код виглядає так.

For i = 1 to 10 Next

Команда перекладається «людською» мовою, як «Повторювати від 1 до 10 з кроком один».

Якщо ставиться завдання отримати стовпець із квадратами, наприклад, усіх непарних чисел із діапазону від 1 до 11, то пишемо:

For i = 1 to 10 step 1 Next.

Тут Step - крок. У разі він дорівнює двом. За замовчуванням відсутність цього слова у циклі означає, що крок одиничний.

Отримані результати слід зберігати в комірки з номером (i,1). Тоді при кожному запуску циклу зі збільшенням i на величину кроку автоматично зростатиме і номер рядка. Таким чином відбудеться оптимізація коду.

Загалом код виглядатиме, як:

Sub program()

For i = 1 To 10 Step 1 (можна записати просто For i = 1 To 10)

Cells(i, 1).Value = i ^ 2 (тобто в комірку (i,1) записується значення квадрата i)

Next (у певному сенсі відіграє роль лічильника і означає ще один запуск циклу)

End Sub.

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

Приклад 4

У повсякденному житті часто виникає необхідність прийняти те чи інше рішення в залежності від якоїсь умови. Не обійтися без них і VBA Excel. Приклади програм, де подальший хід виконання алгоритму вибирається, а чи не зумовлений спочатку, найчастіше використовують конструкцію If …Then (для складних випадків) If … Then …END If.

Розглянемо певний випадок. Припустимо, необхідно створити макрос для "Ексель", щоб у комірку з координатами (1,1) було записано:

1, якщо аргумент є позитивним;

0, якщо аргумент нульовий;

-1, Якщо аргумент негативний.

Створення такого макросу для "Ексель" починається стандартним способом через використання «гарячих» клавіш Alt і F11. Далі записується наступний код:

Sub program()

x= Cells(1, 1).Value (ця команда надає x значення вмісту комірки з координатами (1, 1))

If x>0 Then Cells(1, 1).Value = 1

If x=0 Then Cells(1, 1).Value = 0

If x<0 Then Cells(1, 1).Value = -1

End Sub.

Залишається запустити макрос і отримати "Ексель" потрібне значення для аргументу.

Функції VBA

Як ви вже могли помітити, програмувати в найвідомішому табличному процесорі Microsoft не так вже й складно. Особливо якщо навчитися застосовувати функції VBA. Загалом у цій мові програмування, створеному спеціально для написання додатків у "Ексель" та Word, близько 160 функцій. Їх можна поділити на кілька великих груп. Це:

  • Математичні функції. Застосувавши їх до аргументу, набувають значення косинуса, натурального логарифму, цілої частини та ін.
  • Фінансові функції. Завдяки їх наявності та використовуючи програмування в Excel, можна отримувати ефективні інструменти для ведення бухгалтерського обліку та здійснення фінансових розрахунків.
  • Функції обробки масивів До них відносяться Array, IsArray; LBound; UBound.
  • Функції VBA Excel для рядка. Це досить численна група. До неї входять, наприклад, функції Space для створення рядка з числом прогалин, рівних цілісному аргументу, або Asc для перекладу символів код ANSI. Всі вони мають широке застосування і дозволяють працювати з рядками "Ексель", створюючи додатки, що значно полегшують роботу з цими таблицями.
  • Функції перетворення типу даних. Наприклад, CVar повертає значення аргументу Expression, перетворивши його на тип даних Variant.
  • Функції роботи з датами Вони значно розширюють стандартні Так, функція WeekdayName повертає назву (повну або часткову) дня тижня за його номером. Ще більш корисною є Timer. Він видає кількість секунд, які пройшли з півночі до певного моменту дня.
  • Функції для перетворення числового аргументу на різні системи числення. Наприклад, Oct видає у вісімкове уявлення числа.
  • Функції форматування. Найважливішою є Format. Вона повертає значення типу Variant з виразом, відформатованим згідно з інструкціями, заданими в описі формату.
  • та ін.

Вивчення властивостей цих функцій та їх застосування дозволить значно розширити сферу застосування Ексель.

Приклад 5

Спробуємо перейти до вирішення складніших завдань. Наприклад:

Дано паперовий документ звіту фактичного рівня витрат підприємства. Потрібно:

  • розробити його шаблонну частину за допомогою табличного процесора "Ексель";
  • скласти програму VBA, яка вимагатиме вихідні дані для її заповнення, здійснювати необхідні розрахунки та заповнювати ними відповідні осередки шаблону.

Розглянемо один із варіантів рішення.

Створення шаблону

Усі дії здійснюються на стандартному аркуші Excel. Резервуються вільні осередки для внесення даних за назвою компанії-споживача, сумою витрат, їх рівня, товарообігу. Оскільки кількість компаній (товариств), щодо яких складається звіт, не зафіксовано, осередки для внесення значень за підсумками та ПІБ спеціаліста заздалегідь не резервують. Робочому листу надається нова назва. Наприклад, "звіт".

Змінні

Для написання програми автоматичного заповнення шаблону необхідно вибрати позначення. Вони будуть використовуватися для змінних:

  • NN- номер поточного рядка таблиці;
  • TP та TF - планований та фактичний товарообіг;
  • SF і SP - фактична та запланована сума витрат;
  • IP і IF - планований і рівень витрат.

Позначимо тими ж літерами, але з «приставкою» Itog накопичення результату по цьому стовпцю. Наприклад, ItogTP - стосується стовпця таблиці, під назвою, як «планований товарообіг».

Вирішення задачі з використанням програмування на VBA

Використовуючи введені позначення, одержуємо формули для відхилень. Якщо потрібно здійснити розрахунок % маємо (F - P) / P * 100, а сумі - (F - P).

Результати цих обчислень можна найкраще відразу внести до відповідних осередків таблиці "Ексель".

Для підсумків за фактом та прогнозом отримують за формулами ItogP = ItogP + P та ItogF = ItogF + F.

Для відхилень використовують = (ItogF – ItogP) / ItogP * 100, якщо розрахунок ведеться у відсотках, а у разі сумарної величини – (ItogF – ItogP).

Результати знову ж таки відразу записуються у відповідні осередки, тому немає необхідності їх присвоювання змінним.

Перед запуском створеної програми потрібно зберегти робочу книгу, наприклад, під назвою "Звіт1.xls".

Клавішу «Створити звітну таблицю» потрібно натиснути лише 1 раз після введення заголовної інформації. Слід знати інші правила. Зокрема, кнопка «Додати рядок» повинна натискати кожного разу після введення в таблицю значень по кожному виду діяльності. Після занесення всіх даних потрібно натиснути кнопку «Закінчити» і переключитися у вікно "Ексель".

Тепер ви знаєте, як вирішувати завдання для Excel за допомогою макросів. Вміння застосовувати vba excel (приклади програм див. вище) може знадобитися і для роботи в середовищі найпопулярнішого текстового редактора "Ворд". Зокрема, можна шляхом запису, як показано на початку статті, або через написання коду створювати кнопки меню, завдяки яким багато операцій над текстом можна буде здійснювати натисканням чергових клавіш або через вкладку "Вид" і піктограму "Макроси".

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

Під час запису макросу записуються всі дії, описані у Visual Basic для програм (VBA) коді. Ці дії можуть включати введення тексту або чисел, натискання осередків або команд на стрічці або меню, форматування осередків, рядків або стовпців, а також імпорт даних із зовнішнього джерела, наприклад Microsoft Access. Visual Basic (VBA) - це підмножина потужної мови програмування Visual Basic, яка входить до більшості програм Office. Незважаючи на те, що VBA забезпечує можливість автоматизації процесів між програмами Office, вам не потрібно знати код VBA або програмне програмування, якщо це потрібно.

Важливо знати, що з запису макросу реєструються майже всі ваші дії. Тому якщо ви припуститеся помилки, наприклад натиснете не ту кнопку, засіб запису макросів зареєструє цю дію. У такому випадку можна знову записати всю послідовність або змінити код VBA. Тому перед записом процесу слід добре опрацювати його. Чим точніше ви запишете послідовність, тим ефективніше працюватиме макрос.

Розробник, яка за умовчанням прихована, тому спочатку потрібно увімкнути її. Для отримання додаткових відомостей див. статтю Відображення вкладки "Розробник" .

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

На вкладці Розробникклацніть Макроси, щоб переглянути макроси, пов'язані з книгою. Крім того, можна натиснути клавіші ALT+F8. При цьому відкриється діалогове вікно Макрос.


Увага:

Відомості про параметри безпеки макросів та їх значення.

Макроси можна запускати різними способами, наприклад, за допомогою клавіш, графічного об'єкта, панелі швидкого доступу, кнопки або навіть при відкритті книги.

За допомогою редактора Visual Basic можна змінювати макроси, приєднані до книги.

    призначити макрос.

    В полі Призначити макросу

Дізнайтеся, як вмикати та вимикати макроси у файлах Office.

Натисніть клавіші ALT+F11.

Робота із записаним кодом у редакторі Visual Basic (VBE)

За допомогою редактора Visual Basic (VBE) можна додавати в записаний код власні змінні, керуючі структури та інші елементи, які не підтримують засіб запису макросів. Оскільки засіб запису макросів фіксує майже кожен крок, який виконується під час запису, може також знадобитися видалити непотрібний код. Перегляд записаного коду – чудовий спосіб навчитися програмувати на VBA або відточити свої навички.

Приклад зміни записаного коду можна знайти у статті Початок роботи з VBA в Excel.

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

Перед записом макросів корисно знати таке:

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

    Якщо вам потрібно записати довгу послідовність завдань, радимо замість цього використовувати кілька дрібніших макросів.

    У макросі можуть бути і завдання, які не стосуються Excel. Процес макросу може охоплювати інші програми Office та інші програми, які підтримують Visual Basic для програм (VBA). Наприклад, ви можете записати макрос, який спочатку оновлює таблицю в Excel, а потім відкриває Outlook для її надсилання електронною поштою.

Макроси та засоби VBA знаходяться на вкладці Розробник, яка за умовчанням прихована, тому спочатку потрібно увімкнути її.

    Перейдіть до розділу налаштування > Excel... Панель інструментів & > стрічки.

Щоб записати макрос, дотримуйтесь інструкцій нижче.

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

На вкладці Розробникклацніть Макроси, щоб переглянути макроси, пов'язані з книгою. При цьому відкриється діалогове вікно Макрос.

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

Нижче наведено додаткові відомості про роботу з макросами в Excel.

Дізнайтеся, як вмикати та вимикати макроси в Excel для Mac.

Якщо книга містить макрос VBA, який потрібно використовувати деінде, цей модуль можна скопіювати в іншу книгу за допомогою редактора Microsoft Visual Basic.

Призначення макросу об'єкту, фігурі чи графічному елементу

    На аркуші клацніть правою кнопкою миші об'єкт, малюнок, фігуру або елемент, якому потрібно призначити існуючий макрос, а потім виберіть команду призначити макрос.

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

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

Ви можете призначати макроси формам та елементам ActiveX на аркуші.

Відкриття редактора Visual Basic

На вкладці Розробникклацніть Visual Basicабо виберіть Сервіс > Макрос > Редактор Visual Basic.

Дізнайтеся, як знайти довідку щодо елементів Visual Basic.

додаткові відомості

Ви завжди можете поставити запитання фахівцеві Excel Tech Community, попросити допомоги у спільноті Answers community, а також запропонувати нову функцію або покращення на веб-сайті