Često će vam, radeći u Excel-u, biti potrebno da prebrojite ćelije koje se odlikuju nekom specifičnom osobinom. Najčešće se radi o prebrojavanju ćelija koje imaju određenu pozadinsku boju, a koju su dobile na osnovu uslovnog formatiranja (mada to mogu biti ćelije sa bilo kakvom istom osobinom). Recimo, sve ćelije čija je vrednost veća od 200, uslovnim formatiranjem ofarbamo u žutu boju, a zatim ih prebrojimo. Ako pokušate da problem rešite preko dijaloga „Go To Special“ (Edit> Go To…> Special), nećete uspeti. Rešenje se nalazi u kreiranju malog makroa, koji će da otkloni ovaj nedostatak.
Evo kako bi taj makro trebao da izgleda:
Sub PrebrojZute()
BrZutih = 0
For Each cell In
// ovde unosimo blok celija
// u primeru na slici, dijapazon je A4:A8
Range ("dijapazon")
If cell.Interior.ColorIndex=6 Then
BrZutih = BrZutih + 1
End If
Next cell
MessageBox BrZutih
Kao što vidite, makro proverava da li osobini ćelija Interior.IndexColor odgovara vrednost 6 (indeks žute boje). Zato smo podesili „For… Next“ petlju koja proverava svaku od ćelija u datom bloku ćelija (dijapazon). Kada neka od ćelija ima ovu osobinu izvršava se kod koji sledi iz „If“ naredbe, a to je zbir koji se kumulativno uvećava za jedan. U suprotnom, ako ćelija ne poseduje ovu osobinu (nije žuta), blok unutar „If“ naredbe se neće izvršiti. Na kraju svih ponavljanja tj. testiranja svih ćelija u bloku, uz pomoć MsgBox-a, vrši se prikaz obaveštenja o pronađenom broju žutih ćelija.
Pratite Krstaricu na www.krstarica.com