Так само як і в інших додатках Microsoft Officeє така цікава штука як макрос. Якщо двома словами, то макрос – це програмована послідовність дій. Створити його можна двома способами:

1. За допомогою пункту меню;

2. Вручну.

Перший спосіб дуже простий і вимагає спеціальних навичок програмування. Але перш ніж приступати до створення макросу, необхідно поколупати налаштування безпеки. Заходимо у Файл/Параметри/Центр керування безпекою/Параметри центру керування безпекою/Параметри макросів. Тут потрібно вибрати Включити всі макроси.


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

З'явиться вікно, в якому потрібно вказати ім'я макросу, призначити клавішу швидкого запуску, а також вибрати книгу, в яку необхідно зберегти макрос.

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

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

У вікні знаходимо створений нами макрос і натискаємо Виконати. Також можна використовувати комбінацію клавіш, яку ми вводили під час створення макросу.

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

Макроси незамінні. Макрос може бути визначений як послідовність команд (послідовно), які можуть бути натисканнями клавіш або навіть невеликими рядками коду з більш просунутими функціями. Ці послідовності записуються в модуль VBA і виконуються за потреби.

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

Макрос може бути створений двома різними способами:

  • Використання Macro Recorder:У цій процедурі Excel зберігає кожну дію, яка буде частиною макросу, а потім засіб запису макросів перетворює ці дії на команди Visual Basic додатків (VBA).
  • Використання VBA:Якщо ви трохи знаєтеся на програмуванні або навіть володієте мовою VBA, ви можете створювати свої макроси самостійно. Для цього просто використовуйте редактор VBA, який є в останніх версіях Microsoft Excel.

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

1) Показувати повідомлення

Просто вставте команду MsgBox у свій макрос. Ось як у наступному прикладі:

MsgBox "текст повідомлення"


Цей рядок коду може бути вставлений у будь-який макрос, що дуже корисно у випадках, коли необхідно видавати попередження користувачеві електронної таблиці, в якій виконується макрос.

2) Запустіть макрос під час відкриття аркуша

У деяких випадках макрос необхідно відкривати разом із робочим листом. У цьому випадку просто змонтуйте макрос із параметром Auto_Open(). Перевірте приклад

Sub Auto_Open ()
MsgBox "Щоб дізнатися все про Excel, перейдіть на сторінку www.https://luz.vc/"
End Sub

У наведеному вище прикладі після відкриття електронної таблиці буде відображено повідомлення. Не забудьте увімкнути макроси у вашому Excel.

3) Робочий лист з поточною датою та часом

Ви можете написати поточну дату та час на аркуші. У наступному прикладі ці дані вставляються в комірку A1, див.

Sub writeDataEora ()
Діапазон ("A1") = Тепер
End Sub


4) Виконайте одну і ту ж дію для кожного обраного осередку.

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

Sub to doSpeedCell ()
Для кожного осередку в Selection.Cells
Осередок MsgBox
Наступна
End Sub

5) Те саме на всіх виділених осередках

Ви можете зробити той же макрос і раніше, але трохи повнішим чином, тобто дія не виконуватиметься покроково. У наведеному нижче прикладі «Hello» записується у всі комірки.

Sub to doSomethingAllAsCells ()
Selection.Cells.Value = "Привіт"!}
End Sub


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

6) Ідентифікація формул у кожному осередку

Sub CheckFormula ()
Якщо Range ("A1") HasFormula = True, тоді
MsgBox «Є Формула»
Ще
MsgBox "Не формула"
End If
End Sub

7) Змінити колір комірки при наведенні миші

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

Private Sub Worksheet_SelectionChange (ByVal Target As Range)

Дімська домашня лінія як діапазон
Дальність
Dim Line2 як довгий

Cells.Interior.ColorIndex = xlNone

Line2 = Target.Row

Set Line Start = Range («A» та Line2, Target)

Зафарбовує виділений осередок у стовпці 5
Set Line = Range (комірки (Target.Row, 1), комірки (Target.Row, 5))

З лінійкою
.Interior.ColorIndex = 12
Кінець з

8) Зміна кольору всередині та шрифтів

Цей макрос змінює кольори всередині та у джерела осередків відповідно до літери осередків.

Sub Colorir_interior_letra ()
Для N = 1 до діапазону (O65536). End (xlUp).

Виберіть діапазон шкали («O» та N)
Випадок "А"
Діапазон («O» і N). Interior. ColorIndex = 3
Діапазон («O» та N) .Font.ColorIndex = 1

Випадок "B"
Діапазон («O» і N). Interior. ColorIndex = 4
Діапазон («O» та N) .Font.ColorIndex = 2

Випадок "C"
Діапазон («O» і N). Interior. ColorIndex = 5
Діапазон («O» та N) .Font.ColorIndex = 3

Випадок "D"
Діапазон («O» та N) .Interior.ColorIndex = 7
Діапазон («O» та N) .Font.ColorIndex = 12

Case Else
Діапазон («O» і N). Interior. ColorIndex = 6
Діапазон («O» та N) .Font.ColorIndex = 4
End Select

Наступний N

9) Який говорить макрос

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

Sub Excel Falling ()

Діапазон ("A1: A5").

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

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

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

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

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

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

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

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

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

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

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

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

Відкриваємо редактор VBA: переходимо на вкладку «Розробник» і клацаємо по кнопці «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 мовою VBA(Visual Basic for Application). Макроси можуть створюватися як вручну, так і автоматично записуватися за допомогою так званого макрорекодера.

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

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

Тепер давайте поринемо і подивимося, як записати макрос у Excel.

Відображення вкладки "Розробник" у стрічці меню

Перед тим, як записувати макрос, потрібно додати на стрічку меню Excel вкладку "Розробник". Для цього виконайте такі кроки:

В результаті на стрічці меню з'явиться вкладка "Розробник"

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

Тепер давайте запишемо дуже простий макрос, який вибирає комірку і вводить до неї текст, наприклад "Excel".

Ось кроки для запису такого макросу:

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

Тепер давайте розглянемо код, який записав макрорекодер. Виконайте такі дії, щоб відкрити редактор коду:


Ви побачите, що як тільки ви натиснете кнопку "Виконати", текст "Excel" буде вставлений в комірку A2 і вибрано комірку A3. Це відбувається за мілісекунди. Але насправді макрос послідовно здійснив записані дії.

Примітка. Ви також можете запустити макрос за допомогою клавіш Ctrl + Shift + N (утримуйте клавіші Ctrl і Shift, а потім натисніть клавішу N). Це той самий ярлик, який ми призначили макросу під час його запису.

Що записує макрос?

Тепер перейдемо до редактора коду і подивимося, що в нас вийшло.

Ось кроки з відкриття редактора VB в Excel:

  1. У групі "Код" натисніть кнопку "Visual Basic".

Ви також можете використовувати комбінацію клавіш Alt+F11 і перейти до редактора коду VBA.

  • Панель меню: містить команди, які можна використовувати під час роботи з редактором VB.
  • Панель інструментів- схожа на панель швидкого доступу Excel. Ви можете додати до неї додаткові інструменти, якими ви часто користуєтеся.
  • Вікно проектів (Project Explorer)- тут Excel перераховує всі книги та всі об'єкти в кожній книзі. Наприклад, якщо у нас є книга з 3 робочими листами, вона з'явиться у Project Explorer. Тут є кілька додаткових об'єктів, таких як модулі, форми користувача і модулі класів.
  • Вікно коду- Власне сам код VBA розміщується в цьому вікні. Для кожного об'єкта, зазначеного у провіднику проекту, є вікно коду, наприклад, робочі аркуші, книги, модулі тощо. У цьому уроці ми побачимо, що записаний макрос знаходиться у вікні коду модуля.
  • Вікно властивостей- Ви можете побачити властивості кожного об'єкта у цьому вікні. Я часто використовую це вікно для позначення об'єктів або зміни їх властивостей.
  • Immediate Window(Вікно попереднього перегляду) - На початковому етапі воно вам не знадобиться. Це корисно, коли ви хочете протестувати кроки або під час налагодження. За замовчуванням він не відображається, і ви можете його відобразити, клацнувши вкладку «View» і вибравши опцію «Immediate Window».

Коли ми записали макрос "ВведенняТексту", у редакторі VB сталися такі речі:

  • Було додано новий модуль.
  • Макрос був записаний з ім'ям, яке ми вказали - "ВведенняТексту"
  • У вікні коду додано нову процедуру.

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

Ось код, записаний макрорекодером:

Sub ВведенняТексту () " "ВведенняТексту Макрос " " Range("A2").Select ActiveCell.FormulaR1C1 = "Excel" Range("A3").Select End Sub

У VBA, будь-який рядок, який слідує за " (знак апострофа) не виконується. Це коментар, який призначений тільки для інформаційних цілей. Якщо ви видалите перші п'ять рядків цього коду, макрос, як і раніше, буде працювати.

Тепер давайте пробіжимо по кожному рядку коду та опишемо що й навіщо.

Код починається з Sub, за яким слідує ім'я макросу та порожні круглі дужки. Sub – скорочення для підпрограми. Кожна підпрограма (також звана процедурою) у VBA починається з Subі закінчується End Sub.

  • Range("A2").Select - цей рядок вибирає комірку A2.
  • ActiveCell.FormulaR1C1 = "Excel" - цей рядок вводить текст "Excel" в активному осередку. Оскільки ми вибрали комірку A2 як перший крок, вона стає нашою активною коміркою.
  • Range("A3").Select - вибір осередку A3. Це відбувається, коли ми натискаємо клавішу Enter після введення тексту, результатом якого є вибір комірки A3.

Сподіваюся, що у вас є деяке базове розуміння, як записувати макрос в Excel.

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

Абсолютний та відносний запис макросу

Ви вже знаєте про абсолютні та відносні посилання в Excel? Якщо ви використовуєте абсолютне посилання для запису макросу, код VBA завжди буде посилатися на ті ж осередки, які ви використовували. Наприклад, якщо ви виберете комірку A2 і введете текст "Excel", то кожного разу - незалежно від того, де ви знаходитесь на аркуші і незалежно від того, яка комірка обрана, ваш код вводитиме текст "Excel" в комірку A2.

Якщо ви використовуєте параметр відносного посилання для запису макросу, VBA не буде прив'язуватись до конкретної адреси комірки. У цьому випадку програма "рухатиметься" щодо активного осередку. Наприклад, припустимо, що ви вже вибрали комірку A1 і ви починаєте запис макросу в режимі відносного посилання. Тепер ви вибираєте комірку A2, вводите текст Excel і натисніть клавішу Enter. Тепер, якщо ви запустите цей макрос, він не повернеться в комірку A2, натомість він переміщатиметься щодо активної комірки. Наприклад, якщо вибрано комірку B3, вона переміститься на B4, запише текст "Excel" і потім перейде до комірки K5.

Тепер давайте запишемо макрос у режимі відносних посилань:

Макрос у режимі відносних посилань буде збережено.

Тепер зробіть таке.

  1. Виберіть будь-яку комірку (крім A1).
  2. Перейдіть на вкладку "Розробник".
  3. У групі "Код" натисніть кнопку "Макроси".
  4. У діалоговому вікні "Макрос" натисніть на збережений макрос "Відносні Посилання".
  5. Натисніть кнопку "Виконати".

Як ви помітите, макрос записав текст "Excel" не в комірки A2. Це сталося, тому що ви записали макрос у режимі відносного посилання. Таким чином, курсор переміщається щодо активного осередку. Наприклад, якщо ви зробите це, коли вибрано осередок B3, він увійде в текст Excel - осередок B4 і в кінцевому підсумку вибере осередок B5.

Ось код, який записав макрорекодер:

Зверніть увагу, що в коді немає посилань на осередки B3 або B4. Макрос використовує Activecell для посилання на поточну комірку та зміщення щодо цієї комірки.

Не звертайте увагу на частину коду Range(A1). Це один із тих випадків, коли макрорекодер додає непотрібний код, який не має жодної мети і може бути вилучений. Без нього код працюватиме чудово.

Що не можна зробити за допомогою макрорекодера?

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

  • Ви не можете виконати код без вибору об'єкта. Наприклад, якщо ви хочете, щоб макрос перейшов на наступний робочий лист і виділив всі заповнені осередки в стовпці A, не виходячи з робочої таблиці, макрорекодер не зможе цього зробити. У таких випадках вам потрібно вручну редагувати код.
  • Ви не можете створити функцію користувача за допомогою макрорекордера. За допомогою VBA ви можете створювати функції користувача, які можна використовувати на робочому аркуші як звичайні функції.
  • Ви не можете створювати цикли за допомогою макрорекордера. Але можете записати одну дію, а цикл додати вручну до редактора коду.
  • Ви не можете аналізувати умови: ви можете перевірити умови коду за допомогою макрорекордера. Якщо ви пишете код VBA вручну, ви можете використовувати оператори IF Then Else для аналізу умови та запуску коду, якщо true (або інший код, якщо false).

Розширення файлів Excel, які містять макроси

Коли ви записуєте макрос або вручну записуєте код VBA в Excel, необхідно зберегти файл з розширенням файлу з підтримкою макросів (.xlsm).

До Excel 2007 було достатньо одного формату файлу - .xls. Але з 2007 року. xlsx був представлений як стандартне розширення файлу. Файли, збережені як.xlsx, не можуть містити макрос. Тому, якщо у вас є файл з розширенням.

Якщо ви оберете "Ні", Excel зберегти файл у форматі з підтримкою макросів. Але якщо ви натиснете "Так", Excel автоматично видаляє весь код з вашої книги та збереже файл як книгу у форматі .xlsx. Тому, якщо у вашій книзі є макрос, потрібно зберегти його у форматі.xlsm, щоб зберегти цей макрос.

Сьогодні я знову представляю вашій увазі статтю Чернякова Михайла Костянтиновича, який розповість про роботу з макросами.

Попрацювавши з документами Ехсеl 2010, ви можете виявити, що часто виконуєте ті самі завдання. Деякі з них (такі як збереження та закриття файлів) виконуються досить швидко, інші включають послідовність кроків, що вимагає певного часу та зусиль. Замість того, щоб щоразу виконувати одні й ті самі дії вручну, можна створити МАКРО-СИ, які є програми, автоматизують виконання заданої послідовності дій.

Перш ніж приступати до створення макросу, потрібно ретельно продумати процедуру, яку він має автоматизувати. Оскільки сучасні комп'ютери відрізняються високою швидкодією, зайві кроки практично не впливають на результат, проте пропуск потрібних кроків вимагатиме перезапису макросу. Спланувавши всі кроки, які повинен виконати макрос, клацніть на стрілці кнопки Макросив розділі Макросина вкладці Вид Запис макросу. З'явиться діалогове вікно

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

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

2. Додайте клавіші букву «у».

3. В опис додайте текст « Таблиця множення до 100»

4. Клацніть на кнопці ОК.

5. Тепер можна виконати дії, які потрібно записати як макроса, наприклад, створіть таблицю множення на 10.

6. У осередок А2 введіть 1, виділіть цю осередок і протягніть на 9 осередків вниз. За потреби вкажіть у параметрах автозаповнення прапорець Заповнити.

7. У осередок В1 введіть 1, виділіть цю осередок і протягніть на 9 осередків праворуч. За потреби вкажіть у параметрах автозаповнення прапорець Заповнити.

8. Введіть у комірку В2 формулу: =$A2*B$1. Виділіть її і протягніть спочатку на 9 осередків вниз, а потім виділений стовпець на 9 колонок праворуч. Закінчивши, клацніть на стрілці кнопки Макросина вкладці Вид Зупинити запис

Аналогічно можна створити інші макроси, наприклад, для очищення робочого листа:

видалитив розділі Осередкина вкладці Вид, а потім клацніть на команді Запис макросу.

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

3. Виділіть діапазон осередків А1:К11.

Макросив розділі Макросина вкладці Головна, а потім клацніть на команді Видалити комірки - Видалити зі зсувом вгору.

5. Натисніть на стрілці кнопки Макросина вкладці Вид, а потім клацніть на команді Зупинити запис.

Запуск, зміна та видалення макросу

Клацніть на стрілці кнопки Макросив розділі Макросина вкладці Вид, а потім клацніть на команді Макроси. З'явиться діалогове вікно Макрос.

1. Щоб запустити Макроста клацнути на кнопці Виконати.

2. Щоб змінити існуючий макрос можна просто видалити його і записати знову.

3. Якщо ж потрібна незначна зміна, можна відкрити макрос в редакторі VBAта внести зміни до коду макросу. Для цього достатньо виділити його в діалоговому вікні Макроста клацнути на кнопці Змінити.

4. Щоб видалити макрос, достатньо виділити його в діалоговому вікні Макроста клацнути на кнопці Видалити.

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

Редагування макросів здійснюється засобами MicrosoftVisualBasicforApplications (VBA) . Редактор можна запустити командою VisualBasicв групі Кодвкладки Розробникабо натисканням клавіш Alt+ F11 .

Додавання кнопок макросів на вкладки

Новий інтерфейс користувача Ехсеl 2010 дозволяє створювати і додавати користувацькі вкладки, групи, а також команди, включаючи макроси.

1. Для цього необхідно правою кнопкою миші викликати контекстне меню будь-якої вкладки, наприклад, Розробник, і вибрати команду Налаштування стрічки.

2. Виділити вкладку, наприклад, Розробник, і натиснути кнопку Додати групу.

3. Натиснути кнопку Перейменуватита ввести в поле Відображене ім'яназва нової групи, наприклад, Макроси ОК.

4. Зі списку Вибрати командиклацнути Макроси.

5. Знайти макрос Таблиця множеннята кнопкою Додати Макроси.

6. Натиснути кнопку Перейменуватита ввести в поле Відображене ім'я Таблиця множення, вибрати символ та натиснути кнопку ОК.

7. Знайти макрос Очиститита кнопкою Додативключити його до створеної групи Макроси.

8. Натиснути кнопку Перейменуватита ввести в поле Відображене ім'яназва нової команди, наприклад, Очистити, вибрати символ та натиснути кнопку ОК.

9. Після натискання кнопки ОКдіалогового вікна Параметри Excel на вкладці Розробникз'явитися група Макросиз командами Таблиця множенняі Очистити.

Мал. 4. Додавання кнопок макросів на вкладку Розробник

Додавання кнопки макросів на панель швидкого доступу

Новий інтерфейс користувача Ехсеl 2010 дозволяє швидко знаходити вбудовані команди, проте знадобиться кілька секунд, щоб запустити макрос за допомогою діалогового вікна Мак-рос. У Ехсеl 2010 є кілька способів зробити макроси більш доступними.

Можна спростити доступ до діалогового вікна Мак-рос, додавши кнопку Макросина панель швидкого доступу.

1. Для цього правою кнопкою клацніть на стрілці кнопки Макросив розділі Макросина вкладці Вид.

2. У контекстному меню натисніть на команді Додати до панелі швидкого доступу.

3. На панелі швидкого доступу з'явиться кнопка Макроси, клацання на якій відкриває діалогове вікно Макрос.

Мал. 5. Додавання кнопки макросів на панель швидкого доступу

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

1. Натисніть кнопку Налаштування настилу швидкого доступунаприкінці панелі швидкого доступу.

2. Натисніть на Інші команди, щоб відобразити сторінку Налаштуваннядіалогового вікна Параметри Ехсеl.

3. Натисніть на стрілці поля Вибрати команди з.

5. Натисніть на макросі, для якого потрібно створити кнопку.

6. Натисніть кнопку Додати.

7. Клацніть на кнопці ОК.

Іншим способом додавання кнопки макросу Очиститина панель швидкого доступу є можливість її встановлення із вкладки.

Клацніть на команді Очиститигрупи Макросивкладки Розробникправою кнопкою миші та з контекстного меню виберіть Додати на панель швидкого доступу.

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

Призначення макросів фігур дозволяє створювати «кнопки» більш складної форми, ніж ті, які відображаються на панелі швидкого доступу. За бажання можна навіть розробити власні макети кнопок для різних об'єктів. Щоб призначити макрос фігурі, клацніть правою кнопкою миші на ній, а потім клацніть на команді Призначити макросу контекстному меню. У діалоговому вікні, яке з'явиться, клацніть на потрібному макросі, а потім клацніть на кнопці ОК.

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

Для запуску макросу Таблиця множенняможна створити фігуру у вигляді прямокутника, а для Очистити- у вигляді еліпса:

1. Клацніть на стрілці кнопки Фігурив розділі Ілюстраціїна вкладці Вставка, а потім клацніть на команді Округлений прямокутник.

2. Впишіть фігуру Округлений прямокутникв діапазон осередків М2: Р4. Введіть текст " Таблиця множення». Встановіть розмір шрифту тексту 18.

3. Клацніть правою кнопкою миші на прямокутнику, а потім клацніть на команді Призначити макрос Таблиця множення, а потім клацніть на кнопці ОК.

4. Клацніть на стрілці кнопки Фігурив розділі Ілюстраціїна вкладці Вставка, а потім клацніть на команді Овал.

5. Впишіть фігуру Овалв діапазон осередків М7: Р10. Введіть текст " Очищення». Встановіть розмір шрифту тексту 18. Вирівняйте напис по центру. Змініть колір заливки фігури на червоний.

6. Клацніть правою кнопкою миші на овалі, а потім клацніть на команді Призначити макросу контекстному меню. У діалоговому вікні, яке з'явиться, клацніть на макросі Очистити, а потім клацніть на кнопці ОК.

Тепер для запуску макросу достатньо клацання по фігурі. Клацніть по фігурі Овал і з листа зникне таблиця. Клацніть по фігурі Округлений прямокутник та таблиця множення знову з'явиться на аркуші.

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

2. Макроси можна запускати, змінювати, редагувати та видаляти при необхідності. Для редагування макросів необхідні знання алгоритмічного мови Basic, оптимально Visual Basic for Applications. Останній дозволяє керувати діалоговими вікнами та вирішувати нестандартні завдання.

3. Кнопки запуску макросів можна розміщувати на вкладках, панелі швидкого запуску чи фігурах будь-яких типів.

    У Excel і Word макроси чудово допомагають, коли треба терміново подивитися конкретний шматок об'єктної моделі, а під рукою немає інтернету, наприклад. Щоправда, найчастіше доведеться уважно почистити отриманий код від зайвих "слідів" переміщення по осередках та інших необов'язкових дій. Але це того варте. Запис і перегляд макросу займе хвилини 2. А ось пошук деяких видів інформації (особливо пов'язаної з графіками) на MSDN у контексті об'єктної моделі може тривати годинами і не факт, що виявиться результативним.

    Ну, а для користувачів, не знайомих з VBA, макроси – річ, безумовно, незамінна і корисна.