VBA u Excelu: Što je Visual Basic za aplikacije, kako se koristi

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

Želim proširiti mudre riječi Stevea Jobsa i reći da bi svatko na svijetu trebao naučiti kako programirati računalo. Možda nećete nužno završiti kao programer ili uopće pisati programe, ali će vas naučiti kako razmišljati.

Što je Visual Basic za aplikacije (VBA)?

Visual Basic za aplikacije (VBA) je programski jezik vođen događajima koji implementira Microsoft za razvoj Office aplikacija. VBA pomaže u razvoju procesa automatizacije, Windows API i korisnički definirane funkcije. Također vam omogućuje da manipulirate značajkama korisničkog sučelja host aplikacija.

Prije nego što odemo u daljnje detalje, pogledajmo što je računalno programiranje na laičkom jeziku. Pretpostavimo da imate sluškinju. Ako želite da sobarica čisti kuću i pere rublje. Ti joj kažeš što da radi koristeći recimo engleski i ona radi posao umjesto tebe. Dok radite s računalom, poželjet ćete izvršiti određene zadatke. Baš kao što ste rekli sluškinji da obavlja kućne poslove, možete također reći računalu da obavlja zadatke umjesto vas.

Proces govorenja računalu što želite da učini za vas je ono što je poznato kao računalno programiranje. Baš kao što ste koristili engleski da kažete sobarici što da radi, također možete koristiti engleske izjave da kažete računalu što da radi. Izjave poput engleskih spadaju u kategoriju jezika visoke razine. VBA je jezik visoke razine koji možete koristiti za prilagođavanje Excela vašoj svemoćnoj volji.

VBA je zapravo podskup Visual Basica 6.0 BASIC stoji za Bpočetnici All-Svrha Ssimbolički Instruction Coda.

Zašto VBA?

VBA vam omogućuje da koristite naredbe slične engleskim za pisanje uputa za stvaranje raznih aplikacija. VBA je jednostavan za naučiti i ima jednostavno korisničko sučelje u kojem samo morate povući i ispustiti kontrole sučelja. Također vam omogućuje da poboljšate funkcionalnost Excela tako da se ponaša onako kako želite.

Osobne i poslovne aplikacije VBA u Excelu

Za osobnu upotrebu, možete ga koristiti za jednostavne makronaredbe koje će automatizirati većinu vaših rutinskih zadataka. Pročitajte članak o makronaredbama za više informacija o tome kako to možete postići.

Za poslovnu upotrebu možete izraditi kompletne moćne programe koje pokreću excel i VBA. Prednost ovog pristupa je što možete iskoristiti moćne značajke excela u vlastitim prilagođenim programima.

Uvod u Visual Basic za aplikacije

Prije nego što možemo napisati bilo koji kod, prvo moramo znati osnove. Sljedeće osnove pomoći će vam da počnete.

  • Varijabla – u srednjoj školi smo učili o algebri. Nađite (x + 2y) gdje je x = 1 i y = 3. U ovom izrazu x i y su varijable. Mogu im se dodijeliti bilo koji brojevi, tj. 1 i 3 kao u ovom primjeru. Također se mogu promijeniti u recimo 4 odnosno 2. Varijable su ukratko memorijske lokacije. Dok radite s VBA Excelom, od vas će se tražiti da deklarirate i varijable baš kao u razredima algebre
  • Pravila za kreiranje varijabli
    • Nemojte koristiti rezervirane riječi – ako radite kao student, ne možete koristiti naziv predavač ili ravnatelj. Ova zvanja rezervirana su za predavače i upravu škole. Rezervirane riječi su one riječi koje imaju posebno značenje u Excel VBA i kao takve ih ne možete koristiti kao nazive varijabli.
    • Imena varijabli ne smiju sadržavati razmake – ne možete definirati varijablu s prvim brojem. Možete koristiti firstNumber ili first_number.
    • Koristite opisna imena – vrlo je primamljivo nazvati varijablu po sebi, ali to izbjegavajte. Koristite opisne nazive, npr. količinu, cijenu, međuzbroj itd. ovo će vaš Excel VBA kod učiniti lakšim za čitanje
  • Aritmetički operatori – pravila Brackets dijeljenja množenja zbrajanja i oduzimanja (BODMAS) stoga ih ne zaboravite primijeniti kada radite s izrazima koji koriste više različitih aritmetičkih operatora. Baš kao u excelu, možete koristiti
    • + za dodavanje
    • – za oduzimanje
    • * za množenje
    • / za diobu.
  • Logički operatori – Koncept logičkih operatora obrađen u ranijim vodičima također se primjenjuje pri radu s VBA. To uključuje
    • Ako izjave
    • OR
    • NE
    • I
    • TRUE
    • FALSE

Kako omogućiti karticu Razvojni programer

Ispod je postupak korak po korak o tome kako omogućiti karticu za razvojne programere u Excelu:

  • Stvorite novu radnu knjigu
  • Pritisnite gumb za početak vrpce
  • odaberite opcije
  • Kliknite na vrpcu za prilagođavanje
  • Odaberite potvrdni okvir programera kao što je prikazano na slici ispod
  • Kliknite U redu

Omogući karticu Razvojni programer

Sada ćete moći vidjeti karticu RAZVOJNIK na vrpci

VBA Pozdrav svijete!

Sada ćemo pokazati kako se programira u VBA programskom jeziku. Svi programi u VBA moraju započeti s "Sub" i završiti s "End sub". Ovdje je naziv naziv koji želite dodijeliti svom programu. Dok sub označava potprogram koji ćemo naučiti u kasnijem dijelu vodiča.

Sub name()
.
.
. 
End Sub

Napravit ćemo osnovni VBA program koji prikazuje okvir za unos za traženje korisničkog imena, a zatim prikazuje pozdravnu poruku

Ovaj vodič pretpostavlja da ste završili vodič za Makronaredbe u excelu i omogućili karticu RAZVOJNIK u excelu.

  • Napravite novu radnu knjižicu
  • Spremite ga u Excel format radnog lista s omogućenim makronaredbama *.xlsm
  • Pritisnite karticu RAZVOJNIK
  • Kliknite UMETNI padajući okvir ispod trake s kontrolama
  • Odaberite naredbeni gumb kao što je prikazano na slici ispod

Program VBA Hello World

Nacrtajte naredbeni gumb bilo gdje na radnom listu

Dobit ćete sljedeći dijaloški prozor

Program VBA Hello World

  • Preimenujte naziv makronaredbe u btnHelloWorld_Click
  • Kliknite na novi gumb
  • Dobit ćete sljedeći prozor VBA koda

Program VBA Hello World

Unesite sljedeće kodove uputa

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

OVDJE,

  • "Dim name as String" stvara varijablu pod nazivom ime. Varijabla će prihvatiti tekst, numeričke i druge znakove jer smo je definirali kao niz
  • “ime = unosBox("Unesite svoje ime")" poziva ugrađenu funkciju InputBox koji prikazuje prozor s natpisom Unesite svoje ime. Uneseno ime se zatim sprema u varijablu imena.
  • "PorBox “Zdravo ” + ime” poziva ugrađenu funkciju MsgBox koji prikazuju Hello i uneseno ime.

Vaš kompletan prozor koda sada bi trebao izgledati ovako

Program VBA Hello World

  • Zatvorite prozor koda
  • Kliknite desnom tipkom gumb 1 i odaberite uredi tekst
  • Unesite Reci zdravo

Program VBA Hello World

  • Kliknite na Say Hello
  • Dobit ćete sljedeći okvir za unos

Program VBA Hello World

  • Unesite svoje ime, tj. Jordan
  • Dobit ćete sljedeći okvir s porukom

Program VBA Hello World

Čestitamo, upravo ste kreirali svoj prvi VBA program u excelu

Korak po korak primjer stvaranja jednostavnog EMI kalkulatora u Excelu

U ovoj vježbi s uputama izradit ćemo jednostavan program koji izračunava EMI. EMI je akronim za Equated Monthly Instalment. To je mjesečni iznos koji otplaćujete kad dobijete zajam. Sljedeća slika prikazuje formulu za izračunavanje EMI.

Stvaranje jednostavnog EMI kalkulatora u Excelu

Gornja formula je složena i može se napisati u excelu. Dobra vijest je da je Excel već riješio gornji problem. Možete koristiti PMT funkciju za izračunavanje gore navedenog.

Funkcija PMT radi na sljedeći način

=PMT(rate,nper,pv)

OVDJE,

  • "stopa" ovo je mjesečna stopa. To je kamatna stopa podijeljena s brojem plaćanja godišnje
  • “nper” to je ukupan broj uplata. To je rok zajma pomnožen s brojem plaćanja godišnje
  • "pv" sadašnja vrijednost. To je stvarni iznos kredita

Stvorite GUI koristeći excel ćelije kao što je prikazano u nastavku

Stvaranje jednostavnog EMI kalkulatora u Excelu

Dodajte naredbeni gumb između redaka 7 i 8

Dajte gumbu naziv makronaredbe btnCalculateEMI_Click

Kliknite gumb za uređivanje

Unesite sljedeći kod

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

OVDJE,

  • “Dim monthly_rate As Single,…” Dim je ključna riječ koja se koristi za definiranje varijable u VBA, mjesečna_stopa je naziv varijable, Single je tip podataka koji znači da će varijabla prihvatiti broj.
  • “mjesečna_stopa = Raspon(“B6”).Vrijednost / Raspon(“B5″).Vrijednost” Range je funkcija koja se koristi za pristup excel ćelijama iz VBA, Range(“B6”).Vrijednost se odnosi na vrijednost u B6
  • “Funkcija radnog lista.Pmt(…)” WorksheetFunction je funkcija koja se koristi za pristup svim funkcijama u excelu

Sljedeća slika prikazuje cijeli izvorni kod

Stvaranje jednostavnog EMI kalkulatora u Excelu

  • Kliknite na Spremi i zatvorite prozor koda
  • Testirajte svoj program kao što je prikazano na animiranoj slici ispod

Stvaranje jednostavnog EMI kalkulatora u Excelu

Kako koristiti VBA u Excelu Primjer

Sljedeći koraci objasnit će kako koristiti VBA u Excelu.

Korak 1) Otvorite svoj VBA uređivač

Na kartici Developer u glavnom izborniku kliknite na ikonu "Visual Basic" i otvorit će se vaš VBA uređivač.

Koristite VBA u Excelu

Korak 2) Odaberite Excel list & Double kliknite na radni list

Otvorit će se VBA editor, odakle možete odabrati Excel list na kojem želite pokrenuti kod. Za otvaranje VBA editora dvaput kliknite na radni list.

Koristite VBA u Excelu

Otvorit će VBA editor na desnoj strani mape. Pojavit će se kao bijeli prostor.

Koristite VBA u Excelu

Korak 3) Napišite sve što želite prikazati u PorukuBox

U ovom koraku vidjet ćemo naš prvi VBA program. Za čitanje i prikaz našeg programa potreban nam je objekt. U VBA taj objekt ili medij u MsgBox.

  • Prvo napišite "Sub", a zatim "naziv programa" (Guru99)
  • Napišite sve što želite prikazati u PorukuBox (guru99-učenje je zabavno)
  • Završite program do End Sub

Koristite VBA u Excelu

Korak 4) Kliknite zeleni gumb za pokretanje na vrhu uređivača

U sljedećem koraku morate pokrenuti ovaj kod klikom na zeleni gumb za pokretanje na vrhu izbornika uređivača.

Koristite VBA u Excelu

Korak 5) Odaberite list i kliknite gumb "Pokreni".

Kada pokrenete kod, pojavit će se drugi prozor. Ovdje morate odabrati list na kojem želite prikazati program i kliknuti na gumb "Pokreni".

Koristite VBA u Excelu

Korak 6) Prikaži poruku u MsgBox

Kada kliknete gumb Pokreni, program će se pokrenuti. Prikazat će poruku u MsgBox.

Koristite VBA u Excelu

Preuzmite gornji Excel kod

rezime

VBA puni obrazac: Visual Basic za aplikaciju. To je podkomponenta Visual Basic programskog jezika koju možete koristiti za izradu aplikacija u Excelu. S VBA još uvijek možete iskoristiti moćne značajke programa Excel i koristiti ih u VBA.