Érdekel, hogyan írjunk eseménykezelő eljárást VBA-ban? A VBE segít Önnek, ha készen áll egy eseménykezelő eljárás megírására; megjeleníti a kiválasztott objektum összes eseményének listáját.
Minden kódablak tetején két legördülő lista található:
Alapértelmezés szerint a Kód ablak Objektum legördülő listája az Általános lehetőséget jeleníti meg.
Ha eseménykezelőt ír a ThisWorkbook objektumhoz, kattintson a ThisWorkbook elemre a Projekt ablakban, majd válassza a Munkafüzet lehetőséget az Objektum legördülő menüből (ez az egyetlen másik lehetőség).
Ha eseménykezelőt ír egy Sheet objektumhoz, kattintson az adott munkalapra a Projekt ablakban, majd válassza a Munkalap lehetőséget az Objektum legördülő listából (ez az egyetlen másik lehetőség).
Miután kiválasztotta az Objektum legördülő listából, kiválaszthatja az eseményt az Eljárás legördülő listából. Íme néhány választási lehetőség a munkafüzethez kapcsolódó eseményekhez.

Esemény kiválasztása a Code ablakban a ThisWorkbook objektumhoz.
Amikor kiválaszt egy eseményt a listából, a VBE automatikusan létrehoz egy eseménykezelő eljárást az Ön számára. Ez egy nagyon hasznos funkció, mert pontosan megmondja, mik a megfelelő érvek.
Íme egy kis furcsaság. Amikor először választja ki a Munkafüzetet az Objektumlistából, a VBE mindig feltételezi, hogy létre kíván hozni egy eseménykezelő eljárást a Megnyitás eseményhez, és létrehozza azt. Ha valójában egy Workbook_Open eljárást hoz létre, az rendben van. Ha azonban más esemény-eljárást hoz létre, törölnie kell a létrehozott üres Workbook_Open Sub részt.
A VBE segítsége azonban csak eddig tart. Megírja a Sub utasítást és az End Sub utasítást. Az Ön feladata a két utasítás közé kerülő VBA-kód megírása.
Valójában nem kell használnia ezt a két legördülő listát, de ezzel megkönnyíti a munkáját, mivel az eseménykezelő eljárás neve rendkívül fontos. Ha nem pontosan adja meg a nevet, az eljárás nem fog működni. Ezenkívül néhány eseménykezelő eljárás egy vagy több argumentumot használ az Sub utasításban. Sehogy sem emlékszel, mik ezek az érvek. Ha például egy munkafüzet objektum eseménylistájából kiválasztja a SheetActivate lehetőséget, a VBE a következő alutasítást írja ki:
Private Sub Workbook_SheetActivate (ByVal Sh mint objektum)
Ebben az esetben az Sh az eljárásnak átadott argumentum, és egy olyan változó, amely az aktivált munkafüzetben lévő lapot képviseli.