Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs
Želim uputiti mudre riječi Stevea Jobsa i reći da bi svi na svijetu trebali naučiti kako programirati računalo. Možda vam uopće neće trebati raditi kao programer ili pisati programe, ali naučit će vas kako razmišljati.
U ovom VBA vodiču obradit ćemo sljedeće teme.
- Što je Visual Basic za aplikacije (VBA)?
- Zašto VBA?
- Osobne i poslovne aplikacije VBA-a u Excelu
- Uvod u Visual Basic za programe
- Korak po korak primjer izrade jednostavnog EMI kalkulatora u Excelu
- Primjer VBA Excel
Što je Visual Basic za aplikacije (VBA)?
Visual Basic for Applications (VBA) programski je jezik vođen događajima koji Microsoft implementira za razvoj Officeovih aplikacija. VBA pomaže u razvoju procesa automatizacije, Windows API-ja i korisnički definiranih funkcija. Omogućuje vam i manipuliranje značajkama korisničkog sučelja aplikacija domaćina.
Prije nego što uđemo u daljnje detalje, pogledajmo što je računalno programiranje na laičkom jeziku. Pretpostavimo da imate sobaricu. Ako želite da sobarica čisti kuću i pere rublje. Recite joj što da radi, recimo engleski, a ona odrađuje posao umjesto vas. Dok radite s računalom, morat ćete izvršavati određene zadatke. Baš kao što ste rekli sobarici da obavlja kućne poslove, možete i računalu reći da umjesto vas obavlja zadatke.
Proces kazivanja 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 biste sluškinji govorili što treba učiniti, možete koristiti i izjave poput engleskog kako biste računalu rekli što treba učiniti. Izjave poput engleskog spadaju u kategoriju jezika visoke razine. VBA je jezik visoke razine koji možete koristiti da biste se priklonili svojoj snažnoj volji.
VBA je zapravo pod skup Visual Basic 6.0 OSNOVNI stoji za B eginners All-Purpose S ymbolic sam nstruction C oda.
Zašto VBA?
VBA omogućuje upotrebu izjava poput engleskog jezika za pisanje uputa za stvaranje različitih aplikacija. VBA je lako naučiti i jednostavan je za korištenje korisničkog sučelja u kojem jednostavno trebate povući i ispustiti kontrole sučelja. Omogućuje vam i poboljšanje Excel funkcije tako što će se ponašati onako kako želite.
Osobne i poslovne aplikacije VBA-a 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 stvoriti cjelovite moćne programe pokretane Excelom i VBA-om. Prednost ovog pristupa je što možete iskoristiti moćne značajke excela u vlastitim prilagođenim programima.
Uvod u Visual Basic za programe
Da bismo mogli napisati bilo koji kod, prvo moramo znati osnove. Sljedeće osnove pomoći će vam da započnete.
- Varijabla - u srednjoj školi smo učili o algebri. Naći (x + 2y) gdje je x = 1 i y = 3. U ovom su izrazu x i y varijable. Njima se mogu dodijeliti bilo koji brojevi, tj. 1 i 3, kao u ovom primjeru. Također se mogu promijeniti u 4 odnosno 2. Ukratko, varijable su memorijska mjesta. Dok radite s VBA Excelom, morat ćete deklarirati i varijable baš kao u klasama algebre
- Pravila za stvaranje varijabli
- Ne koristite rezervirane riječi - ako radite kao student, ne možete koristiti naslovnog predavača ili ravnatelja. Ovi su naslovi rezervirani za predavače i školsku vlast. Rezervirane riječi su one riječi koje imaju posebno značenje u programu Excel VBA i kao takve ih ne možete koristiti kao nazive varijabli.
- Imena varijabli ne mogu sadržavati razmake - ne možete definirati varijablu imenovanu prvi broj. Možete koristiti firstNumber ili first_number.
- Upotrijebite opisna imena - vrlo je primamljivo imenovati varijablu po sebi, ali izbjegavajte ovo. Upotrijebite opisna imena, npr. Količinu, cijenu, međuzbroj itd., Što će vaš Excel VBA kôd učiniti lako čitljivim
- Aritmetički operatori - Primjenjuju se pravila zagrada zbrajanja i oduzimanja dijeljenja množenja (BODMAS) pa ih ne zaboravite primijeniti kada radite s izrazima koji koriste više različitih aritmetičkih operatora. Kao i u Excelu, i vi možete koristiti
- + za dodavanje
- - za oduzimanje
- * za množenje
- / za podjelu.
- Logički operatori - Koncept logičkih operatora obuhvaćen u prethodnim vodičima također se primjenjuje pri radu s VBA. Tu spadaju
- Ako izjave
- ILI
- NE
- I
- PRAVI
- NETOČNO
Kako omogućiti karticu za programere
Ispod je korak po korak postupak kako omogućiti karticu za programere u Excelu:
- Stvorite novu radnu knjigu
- Kliknite gumb za pokretanje vrpce
- Odaberite opcije
- Kliknite na traku za prilagođavanje
- Označite potvrdni okvir programera kao što je prikazano na donjoj slici
- Kliknite U redu
Sada ćete na traci moći vidjeti karticu RAZVOJITELJ
VBA Hello World!
Sada ćemo pokazati kako programirati na programskom jeziku VBA. Svi programi u VBA moraju započeti s "Sub" i završiti s "End sub". Ovdje je ime ime koje želite dodijeliti svom programu. Iako sub predstavlja potprogram koji ćemo naučiti u kasnijem dijelu tutorijala.
Sub name()… End Sub
Stvorit ćemo osnovni VBA program koji prikazuje okvir za unos u kojem se traži ime korisnika, a zatim prikazuje pozdravnu poruku
Ovaj vodič pretpostavlja da ste završili tutorial o Makronaredbama u Excelu i da ste omogućili karticu RAZVOJITELJ u Excelu.
- Stvorite novu radnu knjigu
- Spremite ga u Excel formatu s omogućenim makronaredbama * .xlsm
- Kliknite karticu RAZVOJITELJ
- Kliknite padajući okvir INSERT ispod trake s kontrolnim trakama
- Odaberite naredbeni gumb kao što je prikazano na donjoj slici
Nacrtajte naredbeni gumb bilo gdje na radnom listu
Dobit ćete sljedeći dijaloški prozor
- Preimenujte ime makronaredbe u btnHelloWorld_Click
- Kliknite novi gumb
- Dobit ćete sljedeći prozor s VBA kodom
Unesite sljedeće kodove uputa
Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name
OVDJE,
- "Zatamni ime kao niz" stvara varijablu koja se zove ime. Varijabla će prihvatiti tekst, numeričke i druge znakove jer smo je definirali kao niz
- "name = InputBox (" Unesite svoje ime ")" poziva ugrađenu funkciju InputBox koja prikazuje prozor s natpisom Unesite svoje ime. Uneseno ime se zatim sprema u varijablu imena.
- " MsgBox" Hello "+ name" poziva ugrađenu funkciju MsgBox koja prikazuje Hello i uneseno ime.
Kompletni prozor s kodom sada bi trebao izgledati kako slijedi
- Zatvorite prozor s kodom
- Desni klik na gumb 1 i odaberite uredi tekst
- Uđite Pozdravi
- Kliknite Say Hello
- Dobit ćete sljedeći okvir za unos
- Unesite svoje ime, npr. Jordan
- Dobit ćete sljedeći okvir s porukom
Čestitamo, upravo ste kreirali svoj prvi VBA program u excelu
Korak po korak primjer izrade jednostavnog EMI kalkulatora u Excelu
U ovoj tutorial vježbi stvorit ćemo jednostavan program koji izračunava EMI. EMI je kratica za Equated Monthly rata. To je mjesečni iznos koji vraćate 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 se excel već pobrinuo za gornji problem. Za izračunavanje gore navedenog možete koristiti funkciju PMT.
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 uplata godišnje
- "nper" je ukupan broj plaćanja. To je rok zajma pomnožen s brojem uplata godišnje
- "pv" sadašnja vrijednost. To je stvarni iznos zajma
Stvorite GUI pomoću Excelovih ćelija kao što je prikazano dolje
Dodajte naredbeni gumb između redaka 7 i 8
Dajte imenu makronaredbe gumba 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 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
OVDJE,
- "Priguši mjesečni_broj kao pojedinačno, ..." Priguši je ključna riječ koja se koristi za definiranje varijabli u VBA-u, mjesečna_omjena je naziv varijable, Pojedinačni je vrsta podataka što znači da će varijabla prihvatiti broj.
- "month_rate = Range (" B6 "). Value / Range (" B5 "). Value" Range je funkcija koja se koristi za pristup excel stanicama iz VBA, Range ("B6"). Vrijednost upućuje na vrijednost u B6
- "WorksheetFunction.Pmt (...)" WorksheetFunction je funkcija koja se koristi za pristup svim funkcijama u excelu
Sljedeća slika prikazuje cjeloviti izvorni kod
- Kliknite Spremi i zatvorite prozor s kodom
- Testirajte svoj program kao što je prikazano na animiranoj slici u nastavku
Primjer VBA Excel
Korak 1) Na kartici Developer na glavnom izborniku kliknite ikonu "Visual Basic", otvorit će se vaš VBA editor.
Korak 2) Otvorit će se VBA editor, odakle možete odabrati Excel list na kojem želite pokrenuti kod. Da biste otvorili VBA editor, dvaput kliknite radni list.
Otvorit će VBA editor s desne strane mape. Pojavit će se poput praznog prostora.
Korak 3) U ovom ćemo koraku vidjeti naš prvi VBA program. Za čitanje i prikaz našeg programa potreban nam je objekt. U VBA taj objekt ili medij u MsgBoxu.
- Prvo napišite "Sub", a zatim svoj "naziv programa" (Guru99)
- Napišite sve što želite prikazati u MsgBoxu (guru99-učenje je zabavno)
- Završite program End Sub
Korak 4) U sljedećem koraku morate pokrenuti ovaj kod klikom na zeleni gumb za pokretanje na vrhu izbornika uređivača.
Korak 5) Kada pokrenete kôd, iskočit će drugi prozor. Ovdje morate odabrati list na kojem želite prikazati program i kliknuti na gumb "Pokreni"
Korak 6) Kada kliknete na gumb Pokreni, program će se izvršiti. Prikazati će poruku u MsgBoxu.
Preuzmite gornji Excel kod
Sažetak
VBA puni obrazac: Visual Basic za prijavu. To je potkomponenta vizualnog osnovnog programskog jezika koji možete koristiti za stvaranje programa u Excelu. Uz VBA i dalje možete iskoristiti moćne značajke excela i koristiti ih u VBA-u.