Отримавши навички роботи з мовою VBA, ви можете писати нові макроси з нуля в редакторі Visual Basic замість того, щоб просто редагувати ті, які ви раніше записали в електронну таблицю за допомогою записувача макросів Excel. Створюючи макрос з нуля в редакторі Visual Basic, потрібно виконати такі загальні дії:
Клацніть назву проекту VBA у вікні Project Explorer, куди потрібно додати новий макрос.
Якщо ви хочете написати макрос лише для поточної книги, клацніть функцію VBAProject, яка містить її ім’я файлу в дужках, як у VBAProject (Моя електронна таблиця). Якщо ви хочете написати глобальний макрос у книзі персональних макросів, клацніть VBAProject(PERSONAL.XLSB) у вікні Project Explorer.
Виберіть «Вставка»→ «Модуль» на панелі меню редактора Visual Basic.
Excel відповідає, відкриваючи нове порожнє вікно коду у вікні редактора Visual Basic і додаючи ще одну піктограму модуля (названу наступним доступним номером) у контур у вікні Project Explorer під відповідним проектом VBA.
Далі ви починаєте свій макрос зі створення підпрограми (усі макроси, навіть ті, які ви записуєте в електронній таблиці, насправді є підпрограмами Visual Basic). Для цього достатньо ввести sub (для підпрограми).
Введіть sub, а потім натисніть пробіл.
Тепер вам потрібно назвати свій новий макрос, що ви робите, називаючи свою підпрограму. Пам’ятайте, що при іменуванні нового макросу (або підпрограмі) ви дотримуєтеся тих самих правил, що й при іменуванні діапазону (починайте з літери без пробілів).
Введіть назву свого макросу, а потім натисніть клавішу Enter.
Щойно ви натискаєте клавішу Enter, редактор Visual Basic вставляє закриту пару дужок після назви макросу, порожній рядок і оператор End Sub у власний рядок під цим. Потім він розташовує точку вставки на початку порожнього рядка між рядками з операторами Sub і End Sub. Саме тут ви вводите рядки коду для макросу, який ви пишете.
Введіть рядки коду VBA для макросу між операторами Sub та End Sub.
Перш ніж почати писати оператори VBA, які має виконувати ваш макрос, ви повинні спочатку задокументувати призначення та функціонування цього макросу. Для цього введіть апостроф ( ' ) на початку кожного рядка цього тексту, щоб ввести його як коментар. (Excel знає, що не намагатися виконати будь-який рядок коду, перед яким стоїть апостроф.)
Коли ви натискаєте клавішу Enter, щоб розпочати новий рядок, який починається з апострофа, рядок тексту стає зеленим, що вказує на те, що редактор Visual Basic вважає, що це коментар, який не виконується під час виконання макросу.
Після того, як ви задокументуєте призначення макроса своїми коментарями, ви починаєте вводити оператори, які ви хочете, щоб макрос виконував (які не повинні передбачатися апострофами). Щоб зробити відступ рядків коду легшим для читання, натисніть Tab. Якщо вам потрібно розширити рядок, натисніть Shift+Tab. Коли ви закінчите писати код для свого макросу, вам потрібно зберегти його, перш ніж тестувати.
Виберіть «Файл»→ «Зберегти» на панелі меню редактора Visual Basic або натисніть Ctrl+S.
Після збереження нового макросу ви можете натиснути кнопку Переглянути Microsoft Excel на стандартній панелі інструментів, щоб повернутися до робочого аркуша, де ви можете спробувати його. Щоб запустити новий макрос, який ви написали, виберіть Перегляд→ Макроси на стрічці або натисніть Alt+F8, щоб відкрити діалогове вікно Макрос, а потім клацніть ім’я макросу, який ви щойно написали, перш ніж натиснути кнопку OK.
Якщо Excel виявляє помилку під час запуску макросу, він повертає вас до редактора Visual Basic, і з’являється діалогове вікно Alert Microsoft Visual Basic, яке вказує (у дуже загадковій формі) природу помилки. Натисніть кнопку Налагодження в цьому діалоговому вікні, щоб редактор Visual Basic виділяв рядок коду, який він не може виконати.
Потім ви можете спробувати знайти помилку та відредагувати її в рядку коду. Якщо ви все-таки усунете причину помилки, редактор Visual Basic видаляє виділення з цього рядка коду, а потім ви можете натиснути кнопку «Продовжити» (яка автоматично замінює кнопку «Виконати», коли редактор переходить у режим налагодження) синім трикутником. вказуючи праворуч на стандартній панелі інструментів, щоб продовжити запуск макросу.