Автоматизація робочих аркушів додатків за допомогою макросів у багатьох випадках підвищує сервіс користувача. Розглянемо приклад створення макросу, що допомагає покупцю в доборі товару при роботі з прайс-листом фірми-продавця (рис. 1.9)
Рис. 1.9. Фрагмент прайс- листа
Не представляє труднощі створити подібний робочий лист Excel. Припустимо , що це буде зроблено пізніше. Поки ж дамо користувачу можливість відзначати рядка списку, що лежить в основі прайса – по подвійному щиглику миші штрихувати найменування товару в стовпці А. Надалі ознаку штрихування може дозволити автоматизувати процес підготовки підсумкового документа торгової операції.
Щоб відкрити вікно редактора VBA існує спеціальна команда в меню Сервис . Однак можна скористатися найкоротшим шляхом.
1. Розташуєте покажчик миші на ярлику з назвою автоматизуемого робочого листа і клацніть правою кнопкою миші. У результаті відкриється контекстне меню (рис. 1.10), у якому потрібно виконати команду Исходный текст.
Рис. 1.10. Створення макросу за допомогою контекстного
меню робочого листа
У всіх аркушів робочої книги контекстне меню виглядає однаково, однак команда в меню різних аркушів приводить до відображення різних вікон у редакторі Visual Basic.
2. У вікні редактора, що з'явилося, вибираємо і працюємо в центральному вікні уведення вихідного тексту процедур. Розгорніть лівий список і виберіть у ньому пункт Worksheet (рис. 1.11)
Рис. 1.11. Вікно коду робочого листа
3. Виберіть у правому списку пункт для подвійного щиглика Before DoubleClick. У результаті у вікні коду буде створений заголовок потрібної процедури Worksheet_Before Double Click. Перший і останній рядки створені автоматично, і тепер потрібно увести вихідний текст процедури, так називаний програмний код (рис. 1.12). При уведенні вихідного тексту процедури редактор VBA аналізує текст, що вводиться користувачем, на предмет помилок. В міру введення якого-небудь слова редактор пропонує найближчий варіант синтаксично правильного вираження. Наприклад, якщо почати введення слова
Pattern, редактор, поруч з курсором уведення, відобразить список, у якому буде знайдений і виділений найближчий придатний варіант до уже виділеної частини слова. У цьому випадку можна продовжувати вводити інші букви цього слова, не звертаючи уваги на поводження вікна, чи ж увести відразу символ, що випливає за цим словом, наприклад, « = », і тоді залишок слова Pattern буде введений автоматично (рис. 1.13).
Рис. 1.13. Допомога редактора VBA Рис. 1.14. Повідомлення про помилку
У наступній рядку програмного коду допоміжне вікно з'явиться двічі – перед словом Interior і після нього. При чи помилках навіть просто спробах перевести курсор уведення з незакінченим рядком, редактор може розкрити вікно з попередженням про помилку ( рис. 1.14) – у цьому випадку треба клацнути на кнопці ОК цього вікна і виправити помилку. Помилково набране слово буде виділено червоним кольором.
4. Якщо набір вихідного тексту макросу довершений без помилок, то можна випробувати його в справі. Для повернення у вікно Excel можна скористатися кнопкою на панелі чи задач спеціальною кнопкою зі значком Excel, розташованої в лівому верхньому куті редактора VBA .
Тепер виконаєте подвійного щиглика на одній з осередків стовпця А – осередок заштрихований. Ще один подвійний щиглик і штрихування зникає. Тепер можна легко і просто відзначати позиції прайса, що користувач відбирає при здійсненні торгової операції.