Prikaz rada u VBA u Excel-u na primjeru
Kako bi približili jednostavnost rada u Visual basicu za Excel ovdje je prikazan jedan jednostavni primjer upotrebe VBA koda u rješavanju problema u Excel-u.
Problem je slijedeći, potrebno je označiti sve one retke koji su isporučeni nakon zadanog roka (koji se može mijenjati) crvenom bojom.
Kako slika prikazuje početna datoteka sadrži tri kolone od kojih je prva datum narudžbe, potom datum isporuke, i treća artikl koji je isporučen. U ćeliji G2 nalazi se proizvoljno unijet broj koji predstavlja željni maksimalni broj dana od narudžbe pa do isporuke.
Početna datoteka, ulazni podaci:
Slika 1. Ulazni podaci
Nakon toga potrebno je napisati i program koji traži da li je razlika datuma druge (B) i prve (A) kolone manja od zadanog željenog broja dana unutar kojega bi se isporuka trebala obaviti.
S obzirom da želimo označiti one koji su iznad željnog broja dana, i da ćemo program pokrenuti više puta, želimo prvo zacrniti cijelu kolonu A i onda crvenim označiti one retke kojima je razlika datuma isporuke i datuma narudžbe veća od zadanog broja dana. Nakon što smo napisali petlju trebamo prvo postaviti (prije petlje) da je tekst u koloni A crni a potom sa IF naredbom testirati razliku datuma i one koje smo našli da ne zadovoljavaju željeni kriterij, te ih označiti crvenom bojom (kodno ime vbRed).
Dopuna programa sa testiranjem datuma:
Nakon što smo sam program napisali valja ga testirati. Kada pokrenemo makro ručno (macros na developer tabu pokreće bilo koji macro) vidimo da su neki reci pocrvenili u koloni A što je i bio zadatak.
Kako bi macro bio lakše dohvatljiv i drugim korisnicima dobra praksa je povezati ga sa button kontrolom (Insert na developer tabu + button) što se može vidjeti na animaciji ispod:
Sada mijenjajući broj dana vidimo crvenim označene one datume kada je poslana roba koja ne zadovoljava željeni datum isporuke. Slobodno mijenjamo G2 i pokrećemo program više puta.
mr. sc. Krešimir Futivić