Upotreba makroa

Makroi predstavljaju kratke programe koje korisnik uglavnom ne piše, već se automatski generišu od strane Excel-a. Njihova uloga je automatizacija često korišćenih postupaka, a ambiciozniji korisnici mogu da ih upotrebe i za razvoj aplikacija uz pomoć moćnog programskog jezika VBA (Visual Basic for Applications). Na taj način gotovo da nema stvari koja se ne može uraditi u Excel-u, pa on prestaje da bude samo izveštajna već se može iskoristiti i kao razvojna platforma.

Da bi omogućili upotrebu makroa, 00085-1potrebno je najpre da omogućimo prikaz razvojne (Developer) trake alata. To radimo tako što najpre kliknemo na karticu File, da bi smo ušli u Backstage View. Zatim kliknemo na Options, pa na karticu Customize Ribbon i u listi prikazanih traka alata označimo Developer traku alata, kako bi postala vidljiva. Klikom na OK, ona će se pojaviti na ekranu. Ako kliknemo na Developer traku alata videćemo da ona sadrži mnoštvo razvojnih opcija. Grupa opcija Add-Ins može se iskoristiti za uključivanje ili isključivanje pojedinih Excel nadogradnji. Klikom na meni Insert možemo da u Excel tabelu unesemo neku od kontrola, kao što su dugme, izborna polja, radio polja, padajuće kombo liste itd. U ovom trenutku, nas zanima kako se pravi makro, pa ćemo kroz primer da pokažemo kako napraviti jedan jednostavan makro koji boji pozadinu odabrane ćelije žutom bojom.

Najpre, u Developer traci alata, treba 00085-2odabrati opciju Record Macro. Nakon što smo je izabrali, Excel počinje da pamti sve naše akcije i na osnovu njih da generiše VBA kod. Kada završimo snimanje možemo da uđemo u kod i da ručno izmenimo neke njegove elemente, ako njima nismo zadovoljni, što će biti pokazano kasnije. Dakle, pošto smo kliknuli na Record Macro otvoriće se dijalog prozor u kome treba da upišemo ime makroa, kratak opis, lokaciju gde će biti snimljen i eventualno možemo da dodamo prečicu sa tastature kojom ga aktiviramo. Klikom na OK počinje snimanje. Mi ćemo u ovom primeru samo da kliknemo na Home traku alata, a zatim da za trenutnu ćeliju odaberemo žutu boju pozadine. Zatim, vraćamo se na Developer traku alata i biramo opciju Stop Recording da bi smo završili snimanje.

Kako izgleda kod koji smo generisali? Ukoliko kliknemo na opciju Visual Basic u Developer traci alata ili pritisnemo kombinaciju tastera ALT+F11, otvoriće se Visual Basic Editor. U pitanju je kompletno razvojno okruženje koje može da se iskoristi za pisanje makroa, funkcija, dizajn formi i još mnogo toga… Za sada samo sa leve strane treba odabrati VBAProject, pa Modules/Module1, kako bi bio prikazan kod koji se generisao prilikom formiranja makroa. Kod počinje komandom Sub, pa nazivom makroa i parametrima u zagradama (ako nema parametara ova linija se završava samo parom zagrada). Na kraju koda nalazi se komanda End Sub. Ako poznajemo programski jezik Visual Basic for Applications možemo ručno da izmenimo kod i prilagodimo ga našim potrebama.

00085-3

Da bi smo videli sve makroe kreirane u Excel-u pokrećemo opciju Macros sa Developer trake alata. Otvoriće se dijalog prozor koji nudi brojne opcije. Pomoću opcije Edit i Step Into ulazimo u Visual Basic Editor. Options nam omogućava da makrou naknadno dodamo prečicu za pokretanje pomoću tastature. Opcija Delete se koristi za snimanje makroa, a opcija Run za pokretanje izabranog makroa. Dakle, u našem primeru najpre treba da odaberemo grupu ćelija koju želimo da „obojimo u žuto“, pa zatim pokrećemo makro.00085-4

Pokretanje makroa može se izvršiti i uz pomoć grafičkog objekta ili neke od kontrola. Na primer, sa Insert trake alata možemo izabrati Text Box i kreirati tekstualni objekat sa tekstom „Moj makro“. Nakon kreiranja, ako kliknemo desnim tasterom miša na njega, u kontekstnom meniju pojaviće se i opcija za dodeljivanje makroa: Assign Macro. Izborom ove opcije otvoriće se dijalog prozor u kome biramo koji će se makro pokretati klikom na objekat. Nakon potvrde, objektu će biti dodeljen makro i svaki put kada kliknemo na njega on se automatski pokreće.

00085-5