Kas teid huvitab, kuidas kirjutada VBA-s sündmuste käitleja protseduuri? VBE aitab teid, kui olete valmis kirjutama sündmuste käitleja protseduuri; see kuvab kõigi valitud objekti sündmuste loendi.
Iga koodiakna ülaosas on kaks ripploendit.
Vaikimisi kuvatakse koodiakna Objekti rippmenüüs Üldine.
Kui kirjutate objekti ThisWorkbook jaoks sündmustekäsitlejat, peate klõpsama projektiaknas nuppu ThisWorkbook ja seejärel valima objekti rippmenüüst Töövihik (see on ainuke valik).
Kui kirjutate leheobjekti jaoks sündmusehaldurit, peate klõpsama projekti aknas konkreetsel lehel ja seejärel valima ripploendist Object suvandi Tööleht (jällegi ainus valik).
Kui olete ripploendist Objekti valiku teinud, saate valida sündmuse ripploendist Protseduur. Siin on mõned valikud töövihikuga seotud sündmuse jaoks.

Koodiaknas sündmuse valimine objekti ThisWorkbook jaoks.
Kui valite loendist sündmuse, alustab VBE automaatselt teie jaoks sündmuste käitleja protseduuri loomist. See on väga kasulik funktsioon, sest see ütleb teile täpselt, millised on õiged argumendid.
Siin on väike veidrus. Kui valite esimest korda objektiloendist Töövihik, eeldab VBE alati, et soovite luua sündmuse Avatud sündmuse jaoks sündmusehalduri protseduuri, ja loob selle teie jaoks. Kui loote tegelikult protseduuri Workbook_Open, on see hea. Kuid kui loote teistsuguse sündmuseprotseduuri, peate kustutama loodud tühja töövihiku_Open Sub.
VBE abi ulatub siiski ainult nii kaugele. See kirjutab alamlause ja lõpu alamlause. Nende kahe avalduse vahele jääva VBA-koodi kirjutamine on teie ülesanne.
Te ei pea neid kahte ripploendit kasutama, kuid see muudab teie töö lihtsamaks, kuna sündmuste käitleja protseduuri nimi on kriitilise tähtsusega. Kui te ei saa nime täpselt õigesti aru, protseduur ei tööta. Samuti kasutavad mõned sündmuste käitleja protseduurid alamlauses üht või mitut argumenti. Te ei mäleta kuidagi, mis need argumendid on. Näiteks kui valite töövihiku objekti sündmuste loendist SheetActivate, kirjutab VBE järgmise alamlause:
Privaatne alamtöövihik_SheetActivate (objektina ByVal Sh)
Sel juhul on Sh protseduurile edastatud argument ja see on muutuja, mis tähistab lehte aktiveeritud töövihikus.