Događaji

Pokretanje VBA programa najčešće je inicirano događajima. To mogu da budu događaji na nivou dokumenta (npr. Open, Activate), radnog lista (npr. Calculate, Change), grafikona, aplikacije, maske… Događaj kojim pokrećemo proceduru je uglavnom klik mišem na neko dugme ili objekat, fokus ili promena sadržaja objekta. Neki događaji se izvršavaju automatski nakon otvaranja postojećeg ili kreiranja novog dokumenta…

Kada događaji automatski pokreću neku akciju, VBA kod pišemo u okviru procedura nazvanih po tim događajima. Na primer, ako želimo da se program izvrši automatski nakog otvaranja radnog lista (dokumenta) njega će inicirati događaj Workbook_Open.

Kako ovo radi? Najpre otvorimo novi Excel dokument, a zatim iz Developer trake alata dodajmo ActiveX kontrolu koju ćemo da iskoristimo za izbor naziva zemalja (ComboBox1). Otvorite VBA Editor (ALT+F11) i u Project Explorer prozoru izaberite ThisWorkbook. Ovde kreiramo programe koji se izvršavaju u kontekstu radne sveske- dokumenta. Pa ako želimo da se izvrši program kojim inicijaliziramo ComboBox1 kontrolu, dodavanjem naziva zemalja i izborom podrazumevane stavke u listi, napisaćemo to u okviru procedure koja nosi naziv Workbook_Open.

Private Sub Workbook_Open()

Application.Sheets(1).ComboBox1.AddItem „ALL“
Application.Sheets(1).ComboBox1.AddItem „AUSTRIA“
Application.Sheets(1).ComboBox1.AddItem „CROATIA“
Application.Sheets(1).ComboBox1.AddItem „GREECE“
Application.Sheets(1).ComboBox1.AddItem „HUNGARY“
Application.Sheets(1).ComboBox1.AddItem „ITALY“
Application.Sheets(1).ComboBox1.AddItem „MONTENEGRO“
Application.Sheets(1).ComboBox1.AddItem „SERBIA“

Application.Sheets(1).ComboBox1.ListIndex = 0

End Sub

Ako snimite Excel dokument kao onaj koji podržava makroe, nakon ponovnog pokretanja videćete da je kombo lista popunjena vrednostima, a da je podrazumevana vrednost „ALL“.