- Finansijski Snowboard - http://www.mcb.rs/blog -

Prikupljanje podataka uz pomoć VBA, Miloš Cvetković, konsultant, MCB

O prikupljanju podataka u Excelu uz pomoć VBA će nam govoriti Miloš Cvetković Konsultant u Menadžment Centru Boegrad.

IGO_5349

 

Kompletan rad u Excelu svodi se na tri faze:

U prethodnom broju pisao sam o Power Queryju kao alatu za uvoz i transformaciju podataka. On je koristan kada radite sa velikom količinom podataka iz više izvora. Međutim, polaznici me u poslednje vreme sve više pitaju o korišćenju Userformi kroz VBA programiranje u Excelu. Ako imate izazov da prikupite podatke (anketiranje ili izrada budžeta) od velikog broja ljudi koji koriste osnovne funkcije u Excelu, onda jedno od rešenja može da bude izrada Userformi kroz Excel.

Userform se koristi i u Accessu i to mnogo produktivnije i bolje, zato što u Accessu možete mnogo detaljnije da formatirate podatke koji treba da se popune. Međutim, kad god imamo izazov sa prikupljanjem, transformacijom, analizom i prikazivanjem podataka, najčešće prvo pokrenemo Excel. Da bismo napravili formular u Excelu, prvo moramo da napravimo spisak podataka koji su nam potrebni. Za svako polje (ćeliju) u formularu moramo da obezbedimo kolonu u tabeli koju popunjavamo iz tog formulara. Takođe, podaci moraju da budu tipski. Najčešći tipovi podataka su: tekstualni podaci (imena, komentari), datumski podaci, podaci sa liste (spisak proizvoda), ocene na skali…

Slika 1.

Slika 1.

Slika 2.

Slika 2.

Slika 3.

Slika 3.

Nakon što napravimo spisak svih podataka koji su nam potrebni, započinjemo sa dizajniranjem samog formulara. Važno je da formular bude pregledan i lak za korišćenje, bez detalja koji bi odvlačili pažnju od njegove osnovne namene, a to je unos podataka. Takođe su važni i pojavljivanje formulara, prenos podataka u bazu i zatvaranje koje treba da se programira.

Prvi izazov je da se omogući da se formular prikazuje kada otvorite Excel fajl i da u Userformi postoji dugme za zatvaranje Excel fajla. Da biste prikazali samo Userformu, potrebno je da dodate kod u delu ThisWorkbook u VBA Editoru, kao na slici 1.

Nakon toga potrebno je da se doda dugme za unos podataka i za zatvaranje Userforme, kao na slici 2. Duplim klikom na dugme „Zatvori“ pojaviće se prozor u koji je potrebno da se unese kod sa slike 2.

U okviru Toolboxa postoje različite vrste boksova koje možete da dodate, a u zavisnosti od tipa podatka koje je potrebno da unesete u tabelu. Ulazni boksovi koji se najčešće koriste su TextBox i ComboBox, a svaki je specifičan u pogledu formatiranja.

Kada prvi put otvorite formular za unos podataka on bi trebao da bude prazan, odnosno da ne sadrži prethodne unose. Za to je potrebno da formatiramo sve TextBoxove i ComboBoxove iz formulara, da bi im početna vrednost bila prazna. Ovaj kod unosimo tako što kliknemo desnim klikom na Userformu, a onda u padajućim listama biramo opcije „UserForm“ i „Initialize“, što znači da želimo da Userforma prilikom prikazivanja izvrši sledeće instrukcije sa slike 4 (svaki TextBox treba da bude prazan).

Vrednosti u ComboBoxevima možemo da unesemo tako što ćemo u posebnom Sheetu da ispišemo listu vrednosti koje želimo da nam se pojavljuju na ComboBoxu i da tu lisu imenujemo kao opseg ćelija u Excelu (Slika 5). Nakon toga je potrebno da u delu „Properties“ ComboBoxa unesemo u delu „RowSource“ naziv imenovanog opsega (u ovom slučaju to je „ComboList 1“).

Ostalo je još da se formatira i CommandButton 1 ili dugme „Unesi“. Njega formatiramo tako što duplim klikom kliknemo na dugme „Unesi“ i unesemo kod sa slike 6.

Kod sa slike 6 će da zada instrukcije da se vrednosti iz TextBoxova i ComboBoxova unesu u tabelu sa podacima. Tu tabelu i one iz drugih fajlova kasnije možemo da konsolidujemo, analiziramo i da ih unesemo u izveštajUserforme se koriste u mnogo komplikovanijim oblicima u kompanijama u Srbiji. Cilj ovog teksta bio je prikaz jednostavne Userforme i njenih najosnovnijih kodova. Ovaj fajl možete da preuzmete sa sajta www.mcb.rs

Slika 4.

Slika 4.

Slika 5.

Slika 5.

Slika 6.

Slika 6.

Tekst je preuzet iz Controlling magazina #12. Ceo magazin možete pročitati na ovom linku.