VBA-Visual Basic for Applications
Microsoft Office Excel
V
isual
B
asic for
A
pplication
2
Sadržaj

4
1.
UVOD
Visual Basic for Applications
VBA je programski jezik kreiran od strane Microsofta radi automatizacije obrade podataka u
aplikacijama koje ga podržavaju, kao što su na primer Excel ili Word. VBA je veoma modan
alat koji nam daje poseban oblik kontrole i funkcionalnosti koji ne možemo u potpunosti
dobiti korišdenjem drugih opcija kao što su makroi. Npr. želimo da prikažemo dijalog prozor
u kojem korisnik treba da unese neki poseban podatak za radni list. Možda želite da izvršite
zadatak koji zavisi od odluke korisnika ili da prikažete prozor sa porukom korisniku pošto
otvori radnu svesku. Ove ali i mnoge druge stvari možete da ostvarite programiranjem u
Visual Basic for Applications (VBA).
VBA je programski jezik koji je je deo Microsoft Office paketa. Možete da koristite VBA da
kreirate programe koji rade unutar MS Office aplikacija, kao što su Word ili Excel. VBA je
baziran na objektno orijentisanom programiranju (OOP), u kojem se podrazumeva da su svi
elementi programa objekti.
VBA omogudava lako kreiranje interakcije sa korisnikom aplikacije i donošenje odluka na
osnovu akcije korisnika. Na primer, da osigurate celovitost podataka, možete napisati VBA
kod koji prihvata unos podataka i obaveštava korisnika koja polja mora obavezno da popuni.
Različiti načini primene VBA:
1.
Automatizacija akcije koja se periodično ponavlja
Ukoliko imate potrebu da kreirate nedeljne ili mesečne izveštaje o prodaji, makro ih
može napraviti za vrlo kratko vreme i to u formatu kakav sami odaberete. I ako se u
toku dana promene izvorni podaci, da bi dobili ažuran izveštaj, samo treba ponovo
pokrenuti makro
2.
Automatizacija ponavljajude akcije
Kada ste u situaciji da jednu te istu akciju treba da ponovite na svakom radnom listu
ili nad svakom radnom sveskom u nekom folderu, možete kreirati makro koji de u
“petlji” prodi kroz svaki objekat i uraditi neophodno.
3.
Izvršavanje procedure automatski ako se desi određena akcija
U nekim situacija dete želeti da se procedura startuje automatski kako ne biste
razmišljali da li ste je izvršili ili ne. Na primer, ako se promene izvorni podaci da se
automatski osveži i Pivot tabela. Ovo se zove programiranje događaja.
4.
Kreiranje sosptvene funkcije radnog lista
Možemo sami kreirati svoju UDF funkciju da bismo obavili posebne kalkulacije koje
Excelove ugrađene funkcije ne rade, ili je komplikovano izvesti pomodu postojedih
funkcija. Na primer, kako sabrati sve brojeve određene boje
5.
Pojednostavljenje izgleda radne sveske
5
Kada kreirate radnu svesku za druge korisnike, ako među njima ima korisnika koji
malo znaju o Excelu mogli biste razviti posebno korisničko okruženje za unos i izmenu
podataka sa iskačudim informativnim prozorima
6.
Kontrolisanje drugih aplikacija iz Excela
VBA može da pomogne da uvezemo tabelu iz Accessa ili da umetnemo Excel tabelu u
Word dokument
Ograničenja VBA
Sa svakom novom verzijom VBA Microsoft je dodavano nove funkcionalnosti i nove
komande ili je prestao da podržava neke stare, ponekad i bez upozorenja. Dešava se
da se pojave greške u izvršavanju procedura koje su u stalnoj upotrebi ved duže
vreme, kada korisnik pređe na novu verziju Excela
VBA se ne izvršava potpuno isto na svakom kompjuteru. Najčešde je problem samo sa
pojedinačnim kompjuterima tj. odnosom VBA i opertivnog sistema, Office verzije ili
mrežnih podešavanja
U mnogim kompanijama, IT sektor nije uopšte oduševljen sa primenom VBA
procedura zbog izvršavanja potencijalno neželjenog koda tj. makro virusa. Ovo je
potpuno razumljiva zabrinutost, ali ne i razlog da se VBA potpuno odbaci. Pravilno
podešeni antivirus programi mogu potpuno zaštititi korisnika a omoguditi regularnim
VBA procedurama nesmetan rad.
VBA je ogroman program. Ima hiljade ključnih reči i u svakoj slededoj verziji postaje
sve vedi.

7
Snimanje
Najjednostavnija upotreba makroa je snimanje akcija korisnika. Ne morate da poznajete VBA
da bi mogli da ga koristite. Da bismo snimili makro neophodno je kliknuti na alat Macros na
View tabu Ribon trake. Jedna od ponuđenih opcija alata je Record Macro, koja nam
omogudava snimanje makroa bez nekog velikog poznavanja programskog jezika. Nakon klika
na opciju Record Macro pokrede se konfiguracioni prozor u kom možemo definisati naziv
makroa (ne sme da sadrži razmake između reči), prečicu na tastaturi za pokretanje makroa,
kao i lokaciju gde de makro biti sačuvan.
Snimanje makro komande
Klikom na dugme OK počinje proces snimanja makroa, ili, preciznije, počinje proces snimanja
komandi koje korisnik izvodu u okviru radne sveske. Svaka snimljena komanda bide
pretvorena u izvršni kod i kao takva sačuvana u makrou. Pošto se ne radi o video- snimku,
vreme trajanja procesa snimanja makroa ne igra nikakvu ulogu, tako da sve korake koji de se
ponavljati možemo snimiti bez ikakve potrebe za žurbom. Recimo da želimo da definišemo
da prve tri delije svakog drugog reda budu obojene bojom. Taj postupak demo realno i uraditi
na radnoj svesci. Nakon završetka sa dodavanjem boje delijama ponovo kliknemo na alat
Macros i opciju Stop Recording. Sada imamo radnu svesku sa nekoliko delija u boji. Da bismo
proverili funkcionalnost kreiranog makroa jednostavno demo ukloniti sve boje iz delija radne
sveske, a zatim pritisnuti kombinaciju tastera Ctrl+r na tasturi da bismo pokrenuli kreirani
makro. Ako je sve u redu, nakon pritiska na kombinaciju tastera kreirani makro de izvršiti
zadate komande i ponovo istim delijama dodeliti definisanu boju.
Macro Name:
Naziv makroa. U našem primeru nazvademo ga “Zeleno”
Shortcut key:
Prečica za pokretanje makroa. Kliknite na ovo polje, držite Shift i pritisnite “L”
(ili neko drugo slovo). Slededi put kad budemo hteli da pokrenemo makro, dovoljno je da
pritisnemo ctrl+shift+L (ne moramo da biramo naš makro iz menija).
Store macro in
. Ovde definišemo gde želimo da snimimo naš makro. Postoje tri opcije:
This workbook – makro de se snimiti u workbook-u u kome radimo, i bide dostupan
samo dok je on otvoren
New Workbook – napravide se novi workbook, i makro de se snimiti u njega
Personal Macro Workbook – makro de se sačuvati u posebnom fajlu personal.xls.
Ovaj fajl je poseban po tome što se nalazi u /XLStart folderu (najčešde to je putanja:
C:Documents and SettingsmyUsernameApplication DataMicrosoftExcelXLSTART
), što
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti