Er du nysgjerrig hvordan du skal skrive en hendelseshåndterer prosedyre i VBA? VBE hjelper deg ut når du er klar til å skrive en hendelseshåndterer prosedyre; Det viser en liste over alle hendelsene for den valgte objekt
På toppen av hver kode vindu, finner du to nedtrekkslistene.
nedtrekkslisten Object (den på venstre)
nedtrekkslisten Prosedyre (den til høyre)
Som standard rullegardinlisten objekt i Code-vinduet viser Generelt.
Hvis du skriver en hendelse-behandleren for Thisworkbook objekt, må du klikke Thisworkbook i prosjektvinduet og deretter velge arbeidsbok fra objektet rullegardin (det er den eneste andre valg).
Hvis du skriver en hendelseshåndterer for et ark objekt, må du klikke på bestemte Sheet i prosjektvinduet og deretter velge regneark fra rullegardinlisten Object (igjen, den eneste andre valg) .
Når du har gjort ditt valg fra nedtrekkslisten Object, kan du velge hendelsen fra nedtrekkslisten prosedyre. Her er noen av de valgene for en arbeidsbok relatert hendelse.
Velge en hendelse i Code-vinduet for Thisworkbook objektet.
Når du velger en hendelse fra listen, VBE starter automatisk oppretter en hendelse-behandleren prosedyre for du. Dette er en svært nyttig funksjon, fordi den forteller deg nøyaktig hva de riktige argumentene er.
Her er en liten særhet. Når du først velge arbeidsbok fra Object listen VBE forutsetter alltid at du ønsker å opprette en hendelse-behandleren prosedyre for Open arrangement, og det skaper for deg. Hvis du faktisk lage en Workbook_Open prosedyre, er det helt greit. Men hvis du oppretter en annen event-prosedyre, må du slette den tomme Workbook_Open Sub som ble opprettet.
VBE hjelp går bare så langt, men. Det skriver Sub regnskapet og End Sub uttalelse. Skrive VBA-kode som går mellom disse to utsagnene er din jobb.
Du trenger egentlig ikke å bruke disse to nedtrekkslistene, men dette gjør jobben enklere fordi navnet på hendelseshåndterer prosedyren er kritisk viktig. Hvis du ikke får navnet helt riktig, vil prosedyren ikke fungerer. Også noen hendelseshåndterer prosedyrer bruke ett eller flere argumenter i under uttalelse. Det er ingen måte du kan huske hva disse argumentene er. For eksempel, hvis du velger SheetActivate fra hendelseslisten for en arbeidsbok objekt, skriver VBE følgende Sub uttalelse:
Private Sub Workbook_SheetActivate (ByVal Sh As Object)
I dette tilfellet er Sh argumentet gått til prosedyren og er en variabel som representerer arket i den aktiverte arbeidsbok.