VBA в Excel: що таке Visual Basic для програм, як використовувати
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Я хочу повторити мудрі слова Стіва Джобса і сказати, що кожен у світі повинен навчитися програмувати комп’ютер. Можливо, вам зовсім не обов’язково працювати програмістом або писати програми, але це навчить вас думати.
Що таке Visual Basic для програм (VBA)?
Visual Basic для додатків (VBA) це керована подіями мова програмування, реалізована Microsoft для розробки програм Office. VBA допомагає розвивати процеси автоматизації, Windows API та призначені для користувача функції. Це також дозволяє керувати функціями інтерфейсу користувача головних програм.
Перш ніж перейти до подальших подробиць, давайте подивимося, що таке комп’ютерне програмування мовою неспеціаліста. Припустимо, у вас є покоївка. Якщо ви хочете, щоб покоївка прибирала будинок і прала. Ви говорите їй, скажімо, англійською, що робити, і вона виконує роботу за вас. Коли ви працюєте з комп’ютером, вам захочеться виконувати певні завдання. Так само, як ви доручили покоївці виконувати домашні справи, ви також можете доручити комп’ютеру виконувати завдання за вас.
Процес повідомляти комп’ютеру, що ви хочете, щоб він робив для вас, називається комп’ютерним програмуванням. Подібно до того, як ви використовували англійську, щоб сказати покоївці, що робити, ви також можете використовувати англійські твердження, щоб сказати комп’ютеру, що робити. Англійські твердження типу "подібні" належать до категорії мов високого рівня. VBA — це мова високого рівня, яку ви можете використовувати, щоб керувати програмою Excel на свій розсуд.
VBA насправді є піднабором Visual Basic 6.0 BASIC Bпочатківці All-Призначення Sсимволічний IІнструкція Cода.
Чому VBA?
VBA дозволяє використовувати оператори, подібні до англійської мови, для написання інструкцій для створення різних програм. VBA легко освоїти, і він має простий у використанні інтерфейс користувача, у якому вам потрібно просто перетягнути елементи керування інтерфейсу. Це також дозволяє розширити функціональність Excel, змусивши його працювати так, як ви хочете.
Персональні та бізнес-додатки VBA в Excel
Для особистого використання ви можете використовувати його для простих макросів, які автоматизують більшість ваших рутинних завдань. Прочитайте статтю про макроси, щоб дізнатися більше про те, як цього досягти.
Для використання в бізнесі ви можете створювати повноцінні потужні програми на основі Excel і VBA. Перевага цього підходу полягає в тому, що ви можете використовувати потужні функції excel у своїх власних програмах.
Вступ до Visual Basic для програм
Перш ніж ми зможемо написати будь-який код, нам потрібно спочатку знати основи. Наступні основи допоможуть вам почати.
- Змінна – у старшій школі ми вивчали алгебру. Знайдіть (x + 2y), де x = 1 і y = 3. У цьому виразі x і y є змінними. Їм можна присвоїти будь-які номери, тобто 1 і 3 відповідно, як у цьому прикладі. Їх також можна змінити на 4 і 2 відповідно. Коротше кажучи, змінні - це місця пам'яті. Коли ви працюєте з VBA Excel, вам також потрібно буде оголошувати змінні, як і в класах алгебри
-
Правила створення змінних
- Не використовуйте зарезервованих слів – якщо ви працюєте студентом, ви не можете використовувати звання викладач або директор. Ці титули зарезервовані за викладачами та керівництвом школи. Зарезервовані слова – це слова, які мають особливе значення в Excel VBA, тому їх не можна використовувати як імена змінних.
- Імена змінних не можуть містити пробіли – ви не можете визначити змінну з першим числом. Ви можете використовувати firstNumber або first_number.
- Використовуйте описові імена – дуже спокусливо назвати змінну на своє ім’я, але уникайте цього. Використовуйте описові назви, наприклад кількість, ціну, проміжний підсумок тощо. Це зробить ваш код Excel VBA легким для читання
-
Арифметичні оператори – Правила Brackets Ділення, множення, додавання та віднімання (BODMAS), тому не забувайте застосовувати їх під час роботи з виразами, які використовують кілька різних арифметичних операторів. Як і в Excel, ви можете використовувати
- + на доповнення
- – на віднімання
- * на множення
- / для поділу.
-
Логічні оператори – концепція логічних операторів, розглянута в попередніх посібниках, також застосовується під час роботи з VBA. До них відносяться
- Якщо заяви
- OR
- $NOT
- І
- ІСТИНА
- ПОМИЛКОВИЙ
Як увімкнути вкладку «Розробник».
Нижче наведено крок за кроком процес увімкнення вкладки розробника в Excel:
- Створіть нову книгу
- Натисніть кнопку запуску стрічки
- Виберіть параметри
- Натисніть налаштувати стрічку
- Установіть прапорець розробника, як показано на зображенні нижче
- натисніть OK
Тепер ви зможете побачити вкладку РОЗРОБНИК на стрічці
VBA Привіт, світ!
Зараз ми продемонструємо, як програмувати мовою програмування VBA. Усі програми у VBA мають починатися з «Sub» і закінчуватися «End sub». Тут ім'я - це ім'я, яке ви хочете призначити своїй програмі. Поки sub означає підпрограму, яку ми дізнаємось у наступній частині підручника.
Sub name() . . . End Sub
Ми створимо базову програму VBA, яка відображатиме поле введення, щоб запитати ім’я користувача, а потім відображатиме вітальне повідомлення
У цьому підручнику передбачається, що ви пройшли підручник із Макроси в excel і ввімкнули вкладку РОЗРОБНИК у Excel.
- Оформити нову трудову книжку
- Збережіть його у форматі аркуша Excel із підтримкою макросів *.xlsm
- Перейдіть на вкладку РОЗРОБНИК
- Клацніть на спадному списку ВСТАВИТИ під панеллю стрічки керування
- Виберіть командну кнопку, як показано на зображенні нижче
Намалюйте командну кнопку в будь-якому місці аркуша
Ви отримаєте наступне діалогове вікно
- Перейменуйте назву макросу на btnHelloWorld_Click
- Натисніть нову кнопку
- Ви отримаєте таке вікно коду VBA
Введіть наступні коди інструкцій
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
ТУТ,
- «Dim name as String» створює змінну під назвою name. Змінна прийматиме текст, цифри та інші символи, оскільки ми визначили її як рядок
- «ім'я = вхідBox("Введіть ім'я")" викликає вбудовану функцію InputBox що відображає вікно з написом Введіть своє ім’я. Потім введене ім’я зберігається у змінній name.
- "MsgBox «Привіт» + ім'я» викликає вбудовану функцію MsgBox які відображають Привіт і введене ім’я.
Ваше повне вікно коду тепер має виглядати наступним чином
- Закрийте вікно коду
- Клацніть правою кнопкою миші кнопку 1 і виберіть редагувати текст
- Введіть Привіт
- Натисніть «Привіт».
- Ви отримаєте таке поле введення
- Введіть своє ім'я, наприклад Джордан
- Ви отримаєте таке вікно повідомлення
Вітаємо, ви щойно створили свою першу програму VBA в Excel
Покроковий приклад створення простого калькулятора EMI в Excel
У цій навчальній вправі ми збираємося створити просту програму, яка обчислює EMI. EMI — це абревіатура від Equated Monthly Instalment. Це щомісячна сума, яку ви повертаєте, коли отримуєте кредит. На наступному зображенні показано формулу для розрахунку EMI.
Наведена вище формула складна і може бути записана в Excel. Хороша новина полягає в тому, що Excel вже подбав про вищезгадану проблему. Ви можете використовувати функцію PMT для обчислення вищезазначеного.
Функція PMT працює наступним чином
=PMT(rate,nper,pv)
ТУТ,
- "оцінка" це місячна норма. Це процентна ставка, поділена на кількість платежів на рік
- «nper» це загальна кількість платежів. Це термін кредиту, помножений на кількість платежів на рік
- "pv" поточна вартість. Це реальна сума кредиту
Створіть графічний інтерфейс за допомогою клітинок Excel, як показано нижче
Додайте командну кнопку між рядками 7 і 8
Назвіть макрос кнопки btnCalculateEMI_Click
Натисніть кнопку редагування
Введіть наступний код
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
ТУТ,
- «Dim monthly_rate As Single,…» Dim - це ключове слово, яке використовується для визначення змінні у VBA, monthly_rate — ім’я змінної, Single — тип даних, який означає, що змінна прийматиме число.
- «місячна_ставка = діапазон («B6»). Значення / діапазон («B5»). Значення» Діапазон — це функція, яка використовується для доступу до клітинок Excel із VBA, Діапазон («B6»). Значення посилається на значення в B6
- «WorksheetFunction.Pmt(…)» WorksheetFunction — це функція, яка використовується для доступу до всіх функцій у Excel
На наступному зображенні показано повний вихідний код
- Натисніть «Зберегти» та закрийте вікно коду
- Перевірте свою програму, як показано на анімаційному зображенні нижче
Приклад використання VBA в Excel
У наступних кроках пояснюється, як використовувати VBA в Excel.
Крок 1) Відкрийте редактор VBA
На вкладці «Розробник» у головному меню клацніть піктограму «Visual Basic», щоб відкрити редактор VBA.
Крок 2) Виберіть аркуш Excel & Double натисніть на аркуш
Відкриється редактор VBA, звідки ви зможете вибрати аркуш Excel, на якому потрібно запустити код. Щоб відкрити редактор VBA, двічі клацніть на аркуші.
Відкриється редактор VBA у правій частині папки. Це виглядатиме як білий простір.
Крок 3) Напишіть все, що хочете відобразити в ПовідомленніBox
На цьому кроці ми побачимо нашу першу програму VBA. Для читання та відображення нашої програми нам потрібен об’єкт. У VBA цей об’єкт або засіб у повідомленніBox.
- Спочатку напишіть «Sub», а потім «ім’я програми» (Guru99)
- Напишіть все, що хочете відобразити в ПовідомленніBox (guru99-навчання - це весело)
- Завершіть програму End Sub
Крок 4) Натисніть зелену кнопку запуску у верхній частині редактора
На наступному кроці ви повинні запустити цей код, натиснувши зелену кнопку запуску вгорі меню редактора.
Крок 5) Виберіть аркуш і натисніть кнопку «Виконати».
Коли ви запустите код, з’явиться інше вікно. Тут вам потрібно вибрати аркуш, на якому ви хочете відобразити програму, і натиснути кнопку «Виконати».
Крок 6) Відобразити повідомлення в MsgBox
Коли ви натискаєте кнопку «Виконати», програма запускається. Це відобразить повідомлення в MsgBox.
Завантажте наведений вище код Excel
Підсумки
Повна форма VBA: Visual Basic для програми. Це підкомпонент мови програмування Visual Basic, який можна використовувати для створення програм у Excel. За допомогою VBA ви все ще можете скористатися перевагами потужних функцій Excel і використовувати їх у VBA.