Dogodki v Excelu

Izraz "Excel dogodek» se uporablja za označevanje določenih dejanj, ki jih uporabnik izvede v Excelu. Na primer, ko uporabnik zamenja list delovnega zvezka, je to dogodek. Tudi vnos podatkov v celico ali shranjevanje delovnega zvezka sta Excelova dogodka.

Dogodke je mogoče povezati z Excelovim delovnim listom, grafikoni, delovnim zvezkom ali neposredno s samo Excelovo aplikacijo. Programerji lahko ustvarijo kodo VBA, ki se samodejno izvede, ko pride do dogodka.

Na primer, če želite, da se makro zažene vsakič, ko uporabnik zamenja delovni list v Excelovem delovnem zvezku, bi morali ustvariti kodo VBA, ki se bo zagnala vsakič, ko pride do dogodka SheetActivate delovni zvezek.

In če želite, da se makro zažene vsakič, ko greste na določen delovni list (npr. Sheet1), potem mora biti koda VBA povezana z dogodkom Aktivirajte za ta list.

Kodo VBA, ki je namenjena obravnavanju Excelovih dogodkov, je treba postaviti v ustrezen predmet delovnega lista ali delovnega zvezka v oknu urejevalnika VBA (urejevalnik odprete s klikom na Alt + F11). Na primer, kodo, ki bi jo bilo treba izvesti vsakič, ko se pojavi določen dogodek na ravni delovnega lista, je treba postaviti v okno kode za ta delovni list. To je prikazano na sliki:

V urejevalniku Visual Basic si lahko ogledate nabor vseh Excelovih dogodkov, ki so na voljo na ravni delovnega zvezka, delovnega lista ali grafikona. Odprite kodno okno za izbrani predmet in v levem spustnem meniju na vrhu okna izberite vrsto predmeta. Desni spustni meni na vrhu okna bo prikazal dogodke, definirane za ta objekt. Spodnja slika prikazuje seznam dogodkov, povezanih z Excelovim delovnim listom:

Dogodki v Excelu

Kliknite želeni dogodek v desnem spustnem meniju in postopek se bo samodejno vstavil v kodno okno za ta objekt spodaj. na čelu postopka spodaj Excel samodejno vstavi zahtevane argumente (če obstajajo). Vse kar ostane je, da dodate kodo VBA, da določite, katera dejanja naj izvede postopek, ko je zaznan želeni dogodek.

Primer

V naslednjem primeru vsakič, ko je izbrana celica B1 na delovnem listu Sheet1 pojavi se okno s sporočilom.

Za izvedbo tega dejanja moramo uporabiti dogodek delovnega lista Selection_Change, ki se pojavi vsakič, ko se spremeni izbor celice ali obsega celic. funkcija Selection_Change prejme kot argument ciljna predmet -. Tako vemo, kateri obseg celic je bil izbran.

Event Selection_Change se pojavi pri vsaki novi izbiri. Vendar potrebujemo, da se nabor dejanj izvede le, ko je celica izbrana B1. Da bi to naredili, bomo dogodku sledili samo v določenem obsegu ciljna. Kako je implementirano v programski kodi, je prikazano spodaj:

»Koda za prikaz sporočilnega polja, ko je izbrana celica B1« na trenutnem delovnem listu. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Preverite, ali je izbrana celica B1 If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Če je izbrana celica B1, naredite naslednje MsgBox "Imate izbral celico B1" End If End Sub

Pustite Odgovori