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
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
Nacrtajte naredbeni gumb bilo gdje na radnom listu
Dobit ćete sljedeći dijaloški prozor
- Preimenujte naziv makronaredbe u btnHelloWorld_Click
- Kliknite na novi gumb
- Dobit ćete sljedeći prozor VBA koda
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
- Zatvorite prozor koda
- Kliknite desnom tipkom gumb 1 i odaberite uredi tekst
- Unesite Reci zdravo
- Kliknite na Say Hello
- Dobit ćete sljedeći okvir za unos
- Unesite svoje ime, tj. Jordan
- Dobit ćete sljedeći okvir s porukom
Č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.
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
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
- Kliknite na Spremi i zatvorite prozor koda
- Testirajte svoj program kao što je prikazano na animiranoj slici ispod
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č.
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.
Otvorit će VBA editor na desnoj strani mape. Pojavit će se kao bijeli prostor.
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
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.
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".
Korak 6) Prikaži poruku u MsgBox
Kada kliknete gumb Pokreni, program će se pokrenuti. Prikazat će poruku u MsgBox.
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.