На вкладці Розробник натисніть кнопку Visual Basic. Якщо вкладка Розробник не відображається:
- У меню Файл виберіть Параметри.
- Виберіть пункт Налаштувати стрічку, а потім у розділі Основні вкладки встановіть прапорець Розробник.
- Натисніть кнопку ОК.
VBA - відкриття та використання редактора Visual Basic (VBE) в Excel
Є кілька способів отримати доступ до редактора Visual Basic (VBE) у Excel.
Натисніть Alt + F11 на клавіатурі.
Натисніть Перегляд> Макроси> Перегляд макросів. Звідси ви можете Редагувати існуючий макрос або Створювати новенький. Будь-який варіант відкриває редактор VB.
Розробник> Visual Basic
Примітка. Якщо ви не бачите стрічки розробника, необхідно включити її.
Увімкнення стрічки розробника
Натиснути на Файл на стрічці та перейдіть до Параметри. в Налаштувати стрічку варіанти, відзначте Розробник прапорець. За замовчуванням він вимкнений, тому вам потрібно буде увімкнути його, щоб побачити вкладку на стрічці.
Натисніть Ok.
Вкладка «Розробник» з'явиться на головній стрічці. Натисніть Visual Basic на початку стрічки, щоб відкрити редактор Visual Basic.
Розуміння екрана VBE
Екран VBE показаний нижче.
Оглядач проекту
Project Explorer дозволяє побачити, як організований проект, в якому ви працюєте. Ви можете бачити, скільки модулів та форм зберігається у проекті, і можете переміщатися між цими модулями та формами. Модуль - це місце, де зберігається код у вашій книзі, коли ви записуєте макрос, він буде збережений у стандартному модулі, який за умовчанням називатиметьсяModule1 ’.
Кожен робочий лист у файлі Excel також має модуль позаду нього, як і сама книга. Коли ви вставляєте новий аркуш у книгу через головний екран Excel, ви побачите, що в Project Explorer з'являється додатковий модуль аркуша.
Двічі клацніть модуль, щоб перейти до коду цього модуля.
Ви також можете клацнути меню «Вікно» на панелі інструментів і вибрати модуль, щоб перейти до коду цього модуля.
Тип модулів
Модулі розділені на 5 різних типів.
- Стандартні модулі - Більшість вашого коду увійде в цей тип модуля. Коли ви записуєте макрос, він міститься у стандартний модуль. Коли ви пишете загальну процедуру, яка буде використовуватися у вашій книзі, вона також зазвичай входить до стандартного модуля.
- Модулі робочого зошита - Цей модуль містить код, унікальний для цієї окремої книги. Більшість коду в модулях цього типу відома як ПОДІЇ. Подія може відбутися, наприклад, під час відкриття або закриття книги. Модуль також може містити код, написаний вами та використовуваний подіями.
- Модулі листів - Цей модуль містить код, унікальний для цього окремого аркуша. Вони можуть виникнути, наприклад, при клацанні по листу ( Натисніть Подію) або при зміні даних у комірці. Цей модуль також може містити код, написаний вами та викликаний подіями.
- Модулі форми - це модуль за формою, що налаштовується, яку ви можете створити. Наприклад, ви можете створити форму для зберігання деталей для рахунку-фактури з кнопкою OK, код за кнопкою (подія Click) містить код, який запускатиметься при натисканні кнопки.
- Модулі класу - Цей модуль використовується для створення об'єктів під час виконання. Модуль класу використовується розвиненими програмістами VBA і буде розглянутий пізніше.
Вставка модуля або форми у ваш код
Щоб вставити новий модуль у свій код, натисніть значок Вставляти у рядку меню та клацніть Модуль.
Або натисніть на Вставити модуль кнопку, яку ви знайдете на стандартній стрічці.
Щоб вставити нову форму користувача у свій код, виберіть UserForm варіант.
Нова форма користувача з'явиться в Оглядач проекту і буде відображатися у вікні коду праворуч.
Ви також можете вставити Модуль класу
Модуль класу використовується для вставки об'єктів у ваш проект VBA.
Видалення модуля або форми з провідника проекту
Клацніть правою кнопкою миші модуль або форму, які потрібно видалити, щоб відобразити контекстне меню, яке викликається правою кнопкою миші.
Натисніть Вилучати (у цьому випадку UserForm1… )
Натиснути на Файл меню, а потім натисніть Видаліть (UserForm1).
З'явиться вікно з попередженням, у якому вас запитають, чи хочете ви експортувати форму або модуль, перш ніж видалити його. Експорт форми або модуля дозволяє зберегти його як окремий файл для використання іншого проекту Excel в інший час.
Найчастіше, коли ви видаляєте модуль або форму, це тому, що він вам не потрібен, тому натисніть Ні.
Вікно властивостей
Ви побачите вікно властивостей під Оглядач проекту. Можливо, вам потрібно включити це.
Натисніть F4 або клацніть Вид, Вікно властивостей.
Вікно властивостей дозволяє вам бачити властивості для конкретного модуля або форми, які вибрані в Оглядач проекту. Коли ви працюєте з модулями, можна використовувати вікно властивостей, щоб змінити ім'я модуля. Це єдина властивість, доступна модулю. Однак, коли ви працюєте з формами, буде доступно набагато більше властивостей, і вікно «Властивості» потім широко використовується для керування поведінкою форм та елементів керування, що містяться у формі.
Коли ви записуєте макрос, він автоматично поміщається у стандартний модуль. Модуль називатиметьсяModule1 ’ і будь-який код, який міститься в цьому модулі, доступний для використання у вашому проекті. Вам слід перейменувати свій модуль на щось важливе, що спростило б пошук вашого коду, якби ви додали до проекту кілька модулів.
Ви можете також перейменувати свої форми.
Якщо ви перейменували свій лист на Excel, ім'я листа буде відображатися як ім'я листа в дужках після Sheet1.
Якщо ви хочете змінити ім'я модуля за листом, ви можете змінити його так само, як ви змінюєте модуль та ім'я форми користувача - змінивши властивість Name у вікні властивостей.
Втомилися шукати приклади коду VBA? Спробуйте AutoMacro!
Вікно коду
Вікно коду показує вам підпроцедури та функції, які містяться у ваших модулях – воно показує вам фактичний код. Коли ви записуєте макрос, вам буде створена підпроцедура. Якщо ви додасте в макрос ярлик, він буде відображатися як коментар у макросі, щоб ви знали, який ярлик ви призначили макросу.
У верхній частині вікна коду знаходяться два поля зі списком. Вони дозволяють вам бачити, який об'єкт (якщо є) у Модулі, над яким ви можете працювати, і над якою процедурою ви, можливо, працюєте.
У наведеному вище прикладі ми не працюємо з жодним об'єктом - таким чином, це загальне значення, але ми працюємо в рамках процедури Gridlines.
Якби в цьому модулі було кілька процедур, ми могли б використовувати поле зі списком вище для переходу до інших процедур.
Розуміння Кодексу
Є 2 типи процедур - Підпроцедури а також Функціональні процедури.
Підпроцедури
Реєстратор макросів може записувати лише підпроцедури. Процедура Sub робить щось. Вони виконують такі дії, як форматування таблиці або створення зведеної таблиці, або, у прикладі лінії сітки, зміна параметрів перегляду активного вікна. Більшість написаних процедур є підпроцедурами. Усі макроси є підпроцедурами.
Підпроцедура починається з Sub заява та закінчується Кінець передплати твердження.За ім'ям процедури завжди ставляться круглі дужки.
| 123 |
Sub HideGridLines ()ActiveWindow.DisplayGridlines = FalseКінець передплати |
Функціональні процедури
Функціональна процедура повертає значення. Це значення може бути одним значенням, масивом, діапазоном осередків або об'єктом. Функції зазвичай виконують будь-який вид обчислень. Функції Excel можна використовувати з майстром функцій або викликати з підпроцедур.
| 123 |
Функціональні кілограми (фунти як подвоєні) Кілограм = (фунтів / 2,2) Кінцева функція |
Цю функцію можна використовувати в діалоговому вікні "Вставити функцію" в Excel для перетворення фунтів на кілограми.
Створення нової процедури
Перш ніж створювати нову процедуру, переконайтеся, що ви перебуваєте в модулі, де хочете зберегти процедуру. Ви можете створити нову процедуру, натиснувши меню «Вставка», «Процедура»;
або ви можете натиснути значок на панелі інструментів
З'явиться наступне діалогове вікно
- Введіть ім'я нової процедури в полі імені - воно має починатися з літери алфавіту і може містити літери та цифри та містити не більше 64 символів.
- Ви можете мати Підпроцедура, а Функціональна процедура або Майно Процедура. (Властивості використовуються в модулях класів і задають властивості елементів управління ActiveX, які ви, можливо, створили).
- Ви можете зробити обсяг процедури або Суспільні або Приватний. Якщо процедура є загальнодоступною (за замовчуванням), вона може використовуватися всіма модулями у проекті, а якщо процедура є приватною, її зможе використовувати лише цей модуль.
- Ви можете оголосити локальні змінні в цій процедурі як статичні (це пов'язано з областю дії змінної та робить змінну рівня локальної процедури загальнодоступною для всього модуля). Ми не використовуватимемо цей варіант.
Коли ви заповнили всі необхідні дані, натисніть Ok.
Потім ви вводите свій код між операторами Sub та End Sub.
Альтернативно - Ви можете ввести оператори Sub та End Sub у свій модуль точно так, як показано вище. Вам не потрібно ставити слово Public перед словом sub – якщо це слово опущене, всі процедури в модулі автоматично вважаються загальнодоступними.
Потім ви вводите Sub а потім ім'я вашої процедури, за яким слідує дужка.
У Кінець передплати виписка з'явиться автоматично.
Програмування VBA | Генератор код дійсно працює для вас!
Написання коду, який легко зрозуміти та орієнтуватися
Додавання коментарів
Візьміть за звичку додавати коментарі до свого коду, щоб на пізнішому етапі нагадати собі про функціональність коду.
Ви можете вставити коментар у свій код, набравши апостроф на клавіатурі, або ви можете увімкнути панель інструментів «Редагувати» та використовувати кнопку коментаря, яка з'являється на цій панелі інструментів.
Клацніть правою кнопкою миші на панелі інструментів.
Вибирати Редагувати.
Натисніть кнопку коментаря, щоб вставити коментар до свого коду.
ПРИМІТКА: Зазвичай, ви використовуєте кнопку блоку коментарів тільки тоді, коли у вас є кілька рядків коду, які ви хочете закоментувати (а не видалити). Для одного коментаря найпростіше використовувати апостроф.
Відступ
Хороша звичка - робити відступи у коді, щоб полегшити читання коду та перегляд різних частин коду.
Залежно від логіки вашого коду може бути багато рівнів відступів.
Верхній регістр проти нижнього регістру
VBA налаштовує весь код на правильний регістр, тому, якщо ви наберете ВСЕ У ПЕРЕПИСНИХ або все в нижньому регістрі, він змінить ваш код, щоб він був у правильному регістрі!
Програмування VBA | Генератор код дійсно працює для вас!
Автозаповнення
Коли ви налаштуєте код, ви помітите, що VBA намагається допомогти вам, пропонуючи код, який ви можете ввести. Це називається автозаповнення.
Перехоплення помилок та налагодження
Існує 4 типи помилок, які можуть виникнути під час написання коду VBA: синтаксичні помилки, помилки компіляції, помилки часу виконання та логічні помилки.
Синтаксичні помилки
Це відбувається при неправильному написанні коду. VBA значною мірою запобігає цьому за рахунок включення параметра перевірки синтаксису. Зазвичай він увімкнений за замовчуванням, але якщо він вимкнений, увімкніть його, перейшовши в Інструменти, Параметри та натисніть Автоматична перевірка синтаксису.
Якщо ви введете код неправильно (наприклад, виключіть те, що має бути в коді), під час написання коду з'явиться вікно повідомлення, яке дає змогу змінити код.
Помилки компіляції
Це відбувається, коли в коді чогось не вистачає, що заважає запуску коду. Помилка виникає не при написанні коду, а при спробі запустити код.
Програмування VBA | Генератор код дійсно працює для вас!
Помилки часу виконання
Це відбувається, коли ви запускаєте код, а синтаксис та компіляція вірні, але відбувається щось ще, що перешкоджає правильній роботі коду.
В цьому випадку Sheet4 не існує. Це повідомлення про помилку корисніше, ніж повідомлення про помилки компіляції, оскільки воно дає можливість налагодити код і побачити, чому він не працює.
Натисніть Налагоджувати. Код зупиниться на помилці та виділить помилку жовтим, що дозволить вам виправити помилку.
Змініть Sheet4 на Sheet2 (оскільки Аркуш 2 існує, а Аркуш 4 не існує).
Натисніть F5 або натисніть на Продовжувати кнопку на панелі інструментів.
Логічні помилки
Їх найважче знайти. У їхньому випадку код написаний правильно, але фактична логіка коду помилкова, тому ви можете не отримати бажаний результат від коду. Для логічних помилок дуже важливим є перехоплення помилок.
Є 2 типи пасток помилок
При помилці перейти до
Наступний код призначений для відкриття діалогового вікна відкриття файлу – він видасть нам помилку, якщо користувач клацне Скасування.
Коли ви запускаєте код, з'являється діалогове вікно відкриття файлу.
Коли ви натиснете кнопку «Скасувати», буде помилка.
Наступна пастка помилок продовжить код до функції виходу коду та поверне повідомлення.
Це використовує On Error GoTo для виходу із функції.
Коли ви запустите код і натисніть "Скасувати", з'явиться вікно повідомлення.
При помилці Відновити Далі
Якщо поставити При помилці Відновити Далі Заява у ваш код, рядок, що містить помилку, буде проігноровано, і код буде продовжено.
Наприклад, якщо користувач натискає кнопку «Скасувати» у наведеному нижче коді, код не видасть помилку під час виконання, він просто завершиться, а код нічого не зробить.
Бувають випадки, коли це дуже корисно, але в деяких випадках це може бути дуже небезпечним, оскільки не повертає повідомлення про те, чому ви отримали помилку.
Редактор Visual Basic - як відкрити та використовувати в Excel
Першим кроком до роботи з VBA Excel є ознайомлення з редактором Visual Basic (також званим редактором VBA або редактором VB).
У цьому посібнику я розповім усе, що потрібно знати про редактор VBA, і деякі корисні параметри, які ви повинні знати при кодуванні в Excel VBA.
Що таке редактор Visual Basic у Excel?
Редактор Visual Basic - це окрема програма, яка є частиною Excel і відкривається кожного разу, коли ви відкриваєте книгу Excel.
VB Editor – це місце, де ви зберігаєте код VB.
Отримати код у редакторі VB можна кількома способами:
- Коли ви записуєте макрос, він автоматично створює новий модуль у редакторі VB і вставляє код у цей модуль.
- Ви можете вручну ввести код VB у редакторі VB.
- Ви можете скопіювати код з іншої книги або Інтернету і вставити його в редактор VB.
Відкриття редактора VB
Відкрити редактор Visual Basic в Excel можна різними способами:
- Використання сполучення клавіш (найпростіший та найшвидший)
- Використовуючи вкладку розробника.
- Використання вкладок робочого листа.
Давайте швидко пройдемося по кожному з них.
Поєднання клавіш для відкриття редактора Visual Basic
Найпростіший спосіб відкрити редактор Visual Basic - використовувати клавіші - ALT + F11 (утримуючи клавішу ALT, натисніть клавішу F11).
Як тільки ви зробите, відкриється окреме вікно для редактора Visual Basic.
Цей ярлик працює як перемикач, тому при повторному використанні він поверне вас до Excel (без закриття редактора VB).
Ярлик для версії Mac: Opt + F11 або Fn+Opt+F11
Використання вкладки розробника
Щоб відкрити редактор Visual Basic зі стрічки:
- Перейдіть на вкладку Розробник (якщо ви не бачите вкладку Розробник, прочитайте, як її отримати).
- У групі "Код" клацніть Visual Basic.
Використання вкладки робочого листа
Це менш використовуваний спосіб відкриття редактора Vb.
Перейдіть на будь-яку з вкладок робочого аркуша, клацніть правою кнопкою миші та виберіть "Переглянути код".
Цей метод не просто відкриє редактор VB, він також перенесе у вікно коду для цього об'єкта робочого листа.
Це корисно, коли ви хочете написати код, який працює тільки для певного робочого листа. Зазвичай це відбувається з подіями робочого листа.
Анатомія редактора Visual Basic в Excel
Коли ви відкриваєте редактор VB вперше, це може здатися трохи переважним.
Існують різні варіанти та розділи, які спочатку можуть здатися абсолютно новими.
Крім того, він все ще виглядає як старий Excel 97 днів. Хоча дизайн та зручність використання Excel значно покращилися за останні роки, редактор VB не зазнав будь-яких змін у своєму зовнішньому вигляді.
У цьому розділі я познайомлю вас із різними частинами програми Visual Basic Editor.
Примітка. Коли я почав використовувати VBA кілька років тому, мене вразили всі ці нові параметри та вікна. Але коли ви звикнете працювати з VBA, ви освоїтеся з більшістю з них. І в більшості випадків вам не потрібно використовувати всі можливості, а тільки ручну роботу.
Нижче наведено зображення різних компонентів редактора VB. Потім вони докладно описані у наступних розділах цього посібника.
Тепер давайте швидко розглянемо кожен із цих компонентів і зрозуміємо, що він робить:
Рядок меню
Тут у вас є всі параметри, які можна використовувати в редакторі VB. Це схоже на стрічку Excel, де у вас є вкладки та параметри для кожної вкладки.
Ви можете вивчити доступні варіанти, натиснувши кожен елемент меню.
Ви помітите, що поряд з більшістю параметрів у редакторі VB вказані комбінації клавіш. Як тільки ви звикнете до кількох клавіш, робота з редактором VB стане дійсно простою.
Панель інструментів
За промовчанням у редакторі VB є панель інструментів, на якій є кілька корисних опцій, які можуть вам знадобитися найчастіше. Це схоже на панель швидкого доступу Excel. Це дає вам швидкий доступ до деяких корисних параметрів.
Ви можете трохи настроїти його, вилучивши або додавши до нього параметри (клацнувши невелику стрілку, спрямовану вниз, у кінці панелі інструментів).
У більшості випадків панель інструментів за замовчуванням - це все, що вам потрібно, коли ви працюєте з редактором VB.
Ви можете перемістити панель інструментів над рядком меню, клацнувши три сірі точки (на початку панелі інструментів) та перетягнувши її над рядком меню.
Примітка. У редакторі VB є чотири панелі інструментів – Стандартна, Налагодження, Редагувати та Користувацька форма. Те, що ви бачите на зображенні вище (яке також використовується за замовчуванням) є стандартною панеллю інструментів. Ви можете отримати доступ до інших панелей інструментів, перейшовши до параметра "Перегляд" та навівши курсор на "Панелі інструментів".Якщо хочете, можна додати одну або кілька панелей інструментів до редактора VB.
Оглядач проекту
Обозреватель проекту - це вікно ліворуч, у якому відображаються всі об'єкти, відкриті нині у Excel.
Коли ви працюєте з Excel, кожна відкрита книга або надбудова є проектом. І в кожному із цих проектів може бути набір об'єктів.
Наприклад, на зображенні нижче в Project Explorer показані дві відкриті книги (Book1 та Book2) та об'єкти в кожній книзі (робочі аркуші, ThisWorkbook та Module у Book1).
Зліва від об'єктів є значок плюса, який можна використовувати, щоб згорнути список об'єктів або розгорнути та переглянути повний список об'єктів.
Наступні об'єкти можуть бути частиною Project Explorer:
- Всі відкриті книги - у кожній книзі (яка також називається проектом) ви можете мати такі об'єкти:
- Об'єкт робочого листа для кожного аркуша у книзі
- ThisWorkbook об'єкт який є книгою
- Таблиця об'єкт для кожного аркуша діаграми (вони не такі поширені, як робочі аркуші)
- Модулі - Тут іде код, створений за допомогою засобу запису макросів. Ви також можете написати або скопіювати VBA код сюди.
- Усі відкриті надбудови
Розглядайте Project Explorer як місце, де відображаються всі об'єкти, які відкриті в Excel в даний момент.
Поєднання клавіш для відкриття Project Explorer: Ctrl+R (Утримуйте контрольну клавішу, а потім натисніть R). Щоб закрити його, просто клацніть піктограму закриття у верхньому правому куті вікна Project Explorer.
Примітка. Для кожного об'єкта в Project Explorer є вікно коду, в якому ви можете написати код (або скопіювати і вставити його звідкись).Вікно коду з'являється при подвійному натисканні по об'єкту.
Вікно властивостей
Вікно властивостей - це місце, де ви можете побачити властивості обраного об'єкта. Якщо у вас ще немає вікна «Властивості», ви можете отримати його за допомогою клавіш F4 (або перейдіть на вкладку «Перегляд» і натисніть «Вікно властивостей»).
Вікно властивостей - це вікно, що плаває, яке можна закріпити в редакторі VB. У наведеному прикладі я закріпив його трохи нижче Project Explorer.
Вікно властивостей дозволяє нам змінювати властивості вибраного об'єкта. Наприклад, якщо я хочу зробити робочий лист прихованим (або дуже прихованим), я можу зробити це, змінивши властивість Visible для вибраного об'єкта робочого листа.
Пов'язаний: Приховування робочого листа в Excel (який не може бути легко відсканований)
Вікно коду
Для кожного об'єкта, перерахованого в Project Explorer, є вікно коду. Ви можете відкрити вікно коду об'єкта, двічі клацнувши його в області Project Explorer.
Вікно коду - це місце, де ви писатимете свій код або копіювати і вставляти код з іншого місця.
Коли ви записуєте макрос, його код потрапляє у вікно коду модуля. Excel автоматично вставляє модуль для розміщення коду при записі макросу.
Пов'язаний: Як запустити макрос (код VBA) в Excel
Негайне вікно
Вікно Immediate в основному використовується для налагодження коду. Один із способів використання вікна Immediate – використання оператора Print.Debug у коді з наступним запуском коду.
Це допомагає мені налагоджувати код і визначити, де мій код застряє. Якщо я отримую результат Print.Debug у безпосередньому вікні, я знаю, що код працював принаймні до цього рядка.
Якщо ви новачок в кодуванні VBA, вам може знадобитися деякий час, щоб використовувати негайне вікно для налагодження.
За промовчанням безпосереднє вікно не відображається у редакторі VB. Ви можете отримати його, використовуючи клавіші Control + G (або можете перейти на вкладку «Перегляд» і натиснути «Негайне вікно»).
Куди додати код у редакторі VB
Я сподіваюся, що тепер у вас є загальне уявлення про те, що таке VB Editor та які у ньому частини.
У цьому розділі цього посібника я покажу вам, де додати код VBA до редактора Visual Basic.
Є два місця, де ви можете додати код VBA в Excel:
- Вікно коду об'єкта. Цими об'єктами може бути робоча книга, робочий лист, користувальницька форма тощо.
- Вікно коду модуля.
Вікно коду модуля проти вікна коду об'єкта
Дозвольте мені спочатку швидко пояснити різницю між додаванням коду до модуля та додаванням коду у вікні об'єктного коду.
Коли ви додаєте код до будь-якого з об'єктів, він залежить від будь-якої дії цього об'єкта, який запускає цей код. Наприклад, якщо ви хочете відобразити всі робочі листи в книзі, як тільки ви відкриєте цю книгу, код буде поміщений в об'єкт ThisWorkbook (який представляє книгу).
У цьому випадку тригер відкриває книгу.
Так само, якщо ви хочете захистити робочий лист, як тільки активується будь-який інший робочий лист, код для цього буде поміщений у вікно коду робочого листа.
Ці тригери називаються подіями, і ви можете зв'язати код, який виконуватиметься при виникненні події.
Пов'язаний: Дізнайтесь більше про події у VBA
Навпаки, код у модулі повинен виконуватися вручну (або його можна викликати з інших підпрограм).
Коли ви записуєте макрос, Excel автоматично створює модуль і вставляє записаний код макросу. Тепер, якщо потрібно запустити цей код, вам потрібно вручну виконати макрос.
Додавання коду VBA до модуль
При записі макросу автоматично створюється модуль і вставляється в нього код, проте при використанні засобу запису макросів існують деякі обмеження. Наприклад, він не може використовувати цикли або умови If Then Else.
У разі краще або скопіювати і вставити код вручну, або написати код самостійно.
Модуль може використовуватися для зберігання таких типів кодів VBA:
- Декларації: Ви можете оголошувати змінні у модулі. Оголошення змінних дозволяє вказати, який тип даних може містити змінна. Ви можете оголосити змінну тільки для підпрограми або для всіх підпрограм у модулі (або на всіх модулях)
- Підпрограми (процедури): Це код, в якому є кроки, які ви хочете виконати за допомогою VBA
- Функціональні процедури: Це код, який повертає одне значення, і ви можете використовувати його для створення функцій користувача (також званих користувальницькими функціями або UDF в VBA).
За замовчуванням модуль не є частиною книги. Перед використанням необхідно вставити його.
Додавання модуля до редактора VB
Нижче наведено кроки щодо додавання модуля:
- Клацніть правою кнопкою миші будь-який об'єкт книги (в якому ви хочете встановити модуль).
- Наведіть курсор на опцію Вставити.
- Клацніть на модулі.
Це миттєво створить папку з ім'ям Module і вставить об'єкт з ім'ям Module 1. Якщо у вас вже є вставлений модуль, вищезазначені кроки вставлятимуть інший модуль.
Після того, як модуль вставлений, ви можете двічі клацнути об'єкт модуля в Project Explorer, і він відкриє вікно коду.
Тепер ви можете скопіювати та вставити код або написати його самостійно.
Видалення модуля
Нижче наведено кроки щодо видалення модуля в Excel VBA:
- Клацніть правою кнопкою миші модуль, який потрібно видалити.
- Натисніть на опцію "Видалити модуль".
- У діалоговому вікні, що відкрилося, натисніть Ні.
Примітка. Ви можете експортувати модуль перед його видаленням. Він зберігається як файл .bas і ви можете імпортувати його в інший проект. Щоб експортувати модуль, клацніть правою кнопкою миші модуль і виберіть «Експорт файлу».
Додавання коду до вікна об'єктного коду
Щоб відкрити вікно коду об'єкта, просто двічі клацніть по ньому.
Коли він відкриється, ви можете ввести код вручну або скопіювати та вставити код з інших модулів або з Інтернету.
Зверніть увагу, що деякі об'єкти дозволяють вибрати подію, для якої ви хочете написати код.
Наприклад, якщо ви хочете написати код, щоб щось відбувалося при зміні вибору на аркуші, вам потрібно спочатку вибрати аркуші зі списку, що розкривається, у верхньому лівому куті вікна коду, а потім вибрати подію зміни з розкривного списку. -вниз праворуч.
Примітка: ці події стосуються об'єкта. Коли ви відкриєте вікно коду книги, ви побачите події, пов'язані з об'єктом книги. Коли ви відкриєте вікно коду для робочого листа, ви побачите події, пов'язані з об'єктом робочого листа.
Налаштування редактора VB
Хоча налаштування редактора Visual Basic за замовчуванням досить хороші для більшості користувачів, вони дозволяють додатково настроювати інтерфейс та деякі функції.
У цьому розділі посібника я покажу вам всі параметри, які ви маєте при налаштуванні редактора VB.
Щоб настроїти середовище редактора VB, натисніть «Інструменти» у рядку меню, а потім натисніть «Параметри».
Це відкриє діалогове вікно Параметри, яке надасть вам усі параметри налаштування в редакторі VB.У діалоговому вікні "Параметри" є чотири вкладки (як показано нижче), на яких можна налаштувати різні параметри редактора Visual Basic.
Давайте швидко розглянемо кожну з цих вкладок та важливі параметри кожної з них.
Вкладка "Редактор"
Хоча вбудовані налаштування в більшості випадків працюють нормально, дозвольте мені все ж таки пройтися за параметрами на цій вкладці.
У міру того, як ви станете досвідченішим у роботі з VBA в Excel, ви можете налаштувати редактор VB, використовуючи деякі з цих параметрів.
Автоматична перевірка синтаксису
При роботі з VBA в Excel, як тільки ви зробите синтаксичну помилку, вас зустріне діалогове вікно (з деяким описом помилки). Щось на кшталт того, що показано нижче:
Якщо ви вимкнете цю опцію, це спливаюче вікно не з'явиться, навіть якщо ви припустилися синтаксичної помилки. Однак колір тексту коду зміниться, що вказує на помилку.
Якщо ви новачок, я рекомендую залишити цю опцію увімкненою. У міру того, як ви набираєтеся досвіду в програмуванні, ви можете почати знаходити ці спливаючі вікна дратівливими, і тоді ви можете вимкнути цю опцію.
Вимагати оголошення змінної
Це один із варіантів, який я рекомендую включити.
Коли ви працюєте з VBA, ви будете використовувати змінні для зберігання різних типів даних та об'єктів.
Коли ви вмикаєте цей параметр, він автоматично вставляє оператор Option Explicit у верхню частину вікна коду. Це змушує вас оголосити всі змінні, які ви використовуєте у коді. Якщо ви не оголосите змінну і спробуєте виконати код, з'явиться помилка (як показано нижче).
У наведеному вище випадку я використав змінну Var, але не оголошував її.Тому коли я намагаюся запустити код, він показує помилку.
Ця опція дуже корисна, коли у вас багато змінних. Це часто допомагає мені знайти імена змінних з помилками, оскільки вони вважаються неоголошеними і відображається помилка.
Примітка. Коли ви вмикаєте цей параметр, він не впливає на існуючі модулі.
Автоматичний член списку
Ця опція дуже корисна, оскільки допомагає отримати список властивостей методів об'єкта.
Наприклад, якщо я хочу видалити аркуш (Sheet1), мені потрібно використовувати рядок Sheet1.Delete.
Поки я набираю код, як тільки я набираю крапку, він покаже мені всі методи та властивості, пов'язані з об'єктом Worksheet (як показано нижче).
Функція автоматичного списку хороша тим, що дозволяє:
- Швидко виберіть властивість та метод зі списку та заощадіть час
- Показує всі властивості та методи, про які ви, можливо, не знали.
- Уникайте орфографічних помилок
За замовчуванням ця опція включена, і я рекомендую залишити її в такому стані.
Параметри автоматичної швидкої інформації
Коли ви вводите функцію на аркуші Excel, вона показує деяку інформацію про функції, наприклад, аргументи, які вона приймає.
Так само, коли ви вводите функцію VBA, вона показує вам деяку інформацію (як показано нижче). Але для цього потрібно переконатися, що опція Auto Quick Info включена (що за замовчуванням).
Параметри порад щодо автоматичних даних
Коли ви переглядаєте свій код рядковим чином і поміщаєте курсор над ім'ям змінної, він покаже вам значення змінної.
Я вважаю це дуже корисним при налагодженні коду або перегляду коду рядково, в якому є цикли.
У наведеному прикладі, як тільки я наведу курсор на змінну (var), відобразиться значення, яке вона містить.
Цей параметр увімкнено за замовчуванням, і я рекомендую вам залишити його в такому ж стані.
Автоматичний відступ
Оскільки коди VBA можуть бути довгими і безладними, використання відступів збільшує читання коду.
При написанні коду можна робити відступ за допомогою клавіші табуляції.
Цей параметр гарантує, що коли ви закінчите з відступом і натиснете Enter, наступний рядок не почнеться з самого початку, а матиме той самий відступ, що й попередній.
У наведеному вище прикладі після того, як я напишу рядок Debug.Print і натисніть Enter, вона почнеться прямо під нею (з тим самим рівнем відступу).
Я вважаю цю опцію корисною, і її вимикання означало б вручну відступ кожного рядка в блоці коду, який хочу мати відступ.
За бажанням ви можете змінити значення відступу. Я зберігаю значення за промовчанням.
Редагування тексту перетягуванням
Коли цей параметр увімкнено, він дозволяє вибрати блок коду та перетягнути його.
Це заощаджує час, тому що вам не потрібно спочатку вирізати, а потім вставляти. Ви можете просто вибрати та перетягнути його.
Цей параметр увімкнено за замовчуванням, і я рекомендую вам залишити його в такому ж стані.
За замовчуванням повний вигляд модуля
Коли ця опція включена, ви зможете побачити всі процедури в модулі в одному списку, що прокручується.
Якщо ви вимкнете цю опцію, ви зможете бачити лише один модуль за один раз. Вам потрібно буде вибрати модуль, який ви хочете побачити, з списку, що розкривається, у правому верхньому куті вікна коду.
Цей параметр увімкнено за замовчуванням, і я рекомендую залишити його в такому ж стані.
Одна з причин, через яку ви можете захотіти відключити його, коли у вас є кілька процедур, які величезні і прокручування по них вимагає часу, або коли у вас багато процедур, і ви хочете швидко знайти їх, а не витрачати час на прокручування.
Розділювач процедур
Коли ця опція увімкнена, ви побачите лінію (свого роду роздільник) між двома процедурами.
Я вважаю це корисним, оскільки він візуально показує, коли закінчується одна процедура та починається інша.
Він увімкнений за замовчуванням, і я рекомендую залишити його в такому стані.
Вкладка "Формат редактора"
За допомогою параметрів на вкладці «Формат редактора» можна настроїти зовнішній вигляд коду у вікні коду.
Особисто я зберігаю всі параметри за замовчуванням, оскільки це мене влаштовує. Якщо ви хочете, ви можете налаштувати це в залежності від ваших уподобань.
Щоб внести зміни, потрібно спочатку вибрати параметр у полі «Коліри коду». Після вибору параметра можна змінити колір переднього плану, фону та індикатора.
На цій вкладці можна також встановити тип і розмір шрифту. Рекомендується використовувати шрифт фіксованої ширини, наприклад Courier New, оскільки він робить код більш читабельним.
Зверніть увагу, що параметри типу та розміру шрифту залишаться однаковими для всіх типів коду (тобто для всіх типів коду, показаних у полі кольору коду).
Нижче наведено зображення, на якому я вибрав точку зупинки та можу змінити її форматування.
Примітка. Параметр "Смуга індикатора полів", коли він увімкнений, показує невелику смужку полів ліворуч від коду. Це корисно, оскільки показує корисні індикатори під час виконання коду.У наведеному вище прикладі, коли ви встановлюєте точку зупинки, вона автоматично показує червону точку ліворуч від рядка на смузі полів. В якості альтернативи, щоб встановити точку зупинки, ви можете просто клацнути смугу полів зліва від рядка коду, яку ви хочете використовувати як точку зупинки.
За замовчуванням смугу індикатора маржі ввімкнено, і я рекомендую залишити її в такому стані.
Одна з моїх студенток VBA знайшла ці параметри налаштування корисними, і вона була дальтонік. Використовуючи параметри тут, вона змогла встановити колір та формати, які спростили їй роботу з VBA.
Вкладка Загальні
На вкладці "Загальні" є багато параметрів, але змінювати їх не потрібно.
Я рекомендую вам залишити всі параметри як є.
Одна з важливих опцій, про які слід знати на цій вкладці, це обробка помилок.
За замовчуванням вибрано параметр «Переривання з необроблених помилок», і я рекомендую залишити його таким самим.
Цей параметр означає, що якщо код виявить помилку, і ви ще не обробили цю помилку у своєму коді, він зламається і зупиниться. Але якщо ви усунули помилку (наприклад, за допомогою параметрів "При помилці відновити наступний" або "При помилці Перейти до"), то вона не зламається (оскільки помилки не обробляються).
Вкладка стикування
На цій вкладці можна вказати, які вікна ви хочете закріпити.
Закріплення означає, що ви можете зафіксувати положення вікна (наприклад, провідника проекту або вікна властивостей), щоб воно не переміщалося, і ви могли переглядати всі вікна одночасно.
Якщо ви не встановите док-станцію, ви зможете переглядати одне вікно за раз у повноекранному режимі, і вам доведеться перемикатися на інше.
Я рекомендую залишити стандартні налаштування.