VBA в Excel: Какво е Visual Basic за приложения, как да използвам

Съдържание:

Anonim
Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs

Искам да разкажа мъдрите думи на Стив Джобс и да кажа, че всички по света трябва да се научат как да програмират компютър. В крайна сметка може да не е необходимо да работите като програмист или да пишете програми, но това ще ви научи как да мислите.

В този урок за VBA ще разгледаме следните теми.

  • Какво е Visual Basic за приложения (VBA)?
  • Защо VBA?
  • Лични и бизнес приложения на VBA в Excel
  • Въведение в Visual Basic за приложения
  • Пример стъпка по стъпка за създаване на прост EMI калкулатор в Excel
  • Пример за VBA Excel

Какво е Visual Basic за приложения (VBA)?

Visual Basic for Applications (VBA) е управляван от събития програмен език, внедрен от Microsoft за разработване на приложения на Office. VBA помага за разработването на процеси за автоматизация, Windows API и дефинирани от потребителя функции. Той също така ви позволява да манипулирате характеристиките на потребителския интерфейс на хост приложенията.

Преди да влезем в повече подробности, нека разгледаме какво представлява компютърното програмиране на неспециализиран език. Да приемем, че имате прислужница. Ако искате камериерката да почисти къщата и да пере прането. Казвате й какво да прави, използвайки, да кажем английски, и тя върши работата вместо вас. Докато работите с компютър, ще искате да изпълнявате определени задачи. Точно както казахте на прислужницата да се занимава с домашните задължения, можете да кажете на компютъра да изпълни задачите вместо вас.

Процесът на казване на компютъра какво искате да направи за вас е това, което е известно като компютърно програмиране. Точно както сте използвали английски, за да кажете на камериерката какво да прави, можете също да използвате изявления като английски, за да кажете на компютъра какво да прави. Изявленията, подобни на английски, попадат в категорията на езиците на високо ниво. VBA е език на високо ниво, който можете да използвате, за да се превъзхождате с изключителната си воля.

VBA всъщност е под набор от Visual Basic 6.0 BASIC означава B eginners А П-Purpose S ymbolic аз nstruction С ода.

Защо 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.
    • Използвайте описателни имена - много е изкушаващо да назовавате променлива след себе си, но избягвайте това. Използвайте описателни имена, т.е. количество, цена, междинна сума и т.н. Това ще направи вашия VBA код на Excel лесен за четене
  • Аритметични оператори - Прилагат се правилата на скоби на деление на умножение и изваждане (BODMAS), така че не забравяйте да ги прилагате, когато работите с изрази, които използват множество различни аритметични оператори. Точно както в Excel, можете да използвате
    • + за добавяне
    • - за изваждане
    • * за умножение
    • / за разделяне.
  • Логически оператори - Понятието логически оператори, обхванато в по-ранните уроци, се прилага и при работа с VBA. Те включват
    • Ако изявления
    • ИЛИ
    • НЕ
    • И
    • ВЯРНО
    • НЕВЯРНО

Как да активирам раздела за програмисти

По-долу е даден стъпка по стъпка как да активирате раздела за програмисти в Excel:

  • Създайте нова работна книга
  • Кликнете върху бутона за стартиране на лентата
  • Изберете опции
  • Кликнете върху лентата за персонализиране
  • Поставете отметка в квадратчето за програмисти, както е показано на изображението по-долу
  • Щракнете върху OK

Вече ще можете да видите раздела РАЗВИТЕЛ на лентата

VBA Hello World!

Сега ще демонстрираме как да програмираме на езика за програмиране VBA. Всички програми във VBA трябва да започват с "Sub" и да завършват с "End sub". Тук името е името, което искате да присвоите на вашата програма. Докато sub означава подпрограма, която ще научим в по-късната част на урока.

Sub name()… End Sub

Ще създадем основна програма VBA, която показва поле за въвеждане, за да поиска името на потребителя, след което ще покажем поздравително съобщение

Този урок предполага, че сте завършили урока за макроси в Excel и сте активирали раздела DEVELOPER в Excel.

  • Създайте нова работна книга
  • Запазете го във формат на работен лист с активиран макрос * .xlsm
  • Щракнете върху раздела РАЗВИТЕЛ
  • Щракнете върху падащото поле INSERT под лентата с контролни ленти
  • Изберете команден бутон, както е показано на изображението по-долу

Начертайте командния бутон където и да е на работния лист

Ще получите следния диалогов прозорец

  • Преименувайте името на макроса на btnHelloWorld_Click
  • Щракнете върху нов бутон
  • Ще получите следния прозорец на кода на VBA

Въведете следните кодове с инструкции

Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name

ТУК,

  • „Dim name as String“ създава променлива, наречена име. Променливата ще приема текстови, цифрови и други знаци, защото я дефинирахме като низ
  • "name = InputBox (" Въведете вашето име ")" извиква вградената функция InputBox, която показва прозорец с надпис Въведете вашето име. След това въведеното име се съхранява в променливата на името.
  • " MsgBox" Hello "+ name" извиква вградената функция MsgBox, която показва Hello и въведеното име.

Вашият пълен прозорец на кода сега трябва да изглежда по следния начин

  • Затворете прозореца на кода
  • Щракнете с десния бутон върху бутон 1 и изберете редактиране на текст
  • Въведете Здравей
  • Кликнете върху Say Hello
  • Ще получите следното поле за въвеждане
  • Въведете името си, т.е. Йордания
  • Ще получите следното поле за съобщение

Поздравления, току-що създадохте първата си програма VBA в Excel

Пример стъпка по стъпка за създаване на прост EMI калкулатор в Excel

В това упражнение ще създадем проста програма, която изчислява EMI. EMI е съкращението от Equated Monthly Installment. Това е месечната сума, която изплащате, когато получавате заем. Следващото изображение показва формулата за изчисляване на EMI.

Горната формула е сложна и може да бъде написана в Excel. Добрата новина е, че Excel вече се е погрижил за горния проблем. Можете да използвате функцията PMT, за да изчислите горното.

Функцията PMT работи по следния начин

=PMT(rate,nper,pv)

ТУК,

  • "ставка" това е месечната ставка. Това е лихвеният процент, разделен на броя плащания годишно
  • "nper" е общият брой плащания. Това е срокът на кредита, умножен по брой плащания годишно
  • "pv" настояща стойност. Това е действителната сума на заема

Създайте GUI, като използвате Excel клетки, както е показано по-долу

Добавете команден бутон между редове 7 и 8

Дайте името на макроса на бутона btnCalculateEMI_Click

Щракнете върху бутона за редактиране

Въведете следния код

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi

ТУК,

  • "Затъмнява месечната_ скорост като единична, ..." Затъмняването е ключовата дума, която се използва за дефиниране на променливи във VBA, месечната_оценка е името на променливата, единичното е типът данни, което означава, че променливата ще приеме число.
  • "month_rate = Range (" B6 "). Value / Range (" B5 "). Value" Range е функцията, използвана за достъп до excel клетки от VBA, Range ("B6"). Стойността прави препратка към стойността в B6
  • "WorksheetFunction.Pmt (...)" WorksheetFunction е функцията, използвана за достъп до всички функции в Excel

Следващото изображение показва пълния изходен код

  • Кликнете върху запазване и затворете прозореца на кода
  • Тествайте програмата си, както е показано на анимираното изображение по-долу

Пример за VBA Excel

Стъпка 1) В раздела за програмисти от главното меню щракнете върху иконата "Visual Basic" ще отвори вашия редактор на VBA.

Стъпка 2) Ще отвори редактор на VBA, откъдето можете да изберете листа на Excel, където искате да стартирате кода. За да отворите редактора на VBA, щракнете двукратно върху работния лист.

Той ще отвори редактор на VBA от дясната страна на папката. Ще изглежда като бяло пространство.

Стъпка 3) В тази стъпка ще видим нашата първа програма VBA. За да четем и показваме нашата програма, имаме нужда от обект. В VBA този обект или носител в MsgBox.

  • Първо напишете "Sub" и след това "вашето име на програма" (Guru99)
  • Напишете всичко, което искате да покажете в MsgBox (guru99-обучението е забавно)
  • Завършете програмата чрез End Sub

Стъпка 4) В следващата стъпка трябва да стартирате този код, като кликнете върху зеления бутон за изпълнение в горната част на менюто на редактора.

Стъпка 5) Когато стартирате кода, ще се появи друг прозорец. Тук трябва да изберете листа, на който искате да покажете програмата, и да кликнете върху бутона "Изпълнение"

Стъпка 6) Когато кликнете върху бутона Run, програмата ще се изпълни. Той ще покаже съобщението в MsgBox.

Изтеглете горния код на Excel

Обобщение

Пълна форма на VBA: Visual Basic за приложение. Това е подкомпонент на визуалния основен език за програмиране, който можете да използвате за създаване на приложения в Excel. С VBA все още можете да се възползвате от мощните функции на Excel и да ги използвате във VBA.