Video: Guide: Sådan skriver du en skarp ansøgning 2024
Er du nysgerrig på, hvordan man skriver en begivenhedshåndteringsprocedure i VBA ? VBE hjælper dig ud, når du er klar til at skrive en begivenhedshåndteringsprocedure, der viser en liste over alle begivenheder for det valgte objekt.
Øverst på hvert kodevindue findes to drop-down lister:
-
Objekt-rullegardinlisten (den til venstre)
-
Rullemetoden Procedure (den ene til højre)
Som standard Objekt-rullemenuen i kodevinduet viser Generelt.
Hvis du skriver en hændelseshåndterer til ThisWorkbook-objektet, skal du klikke på ThisWorkbook i projektvinduet og derefter vælge Arbejdsbog i rullemenuen Objekt (det er det eneste andet valg).
Hvis du skriver en begivenhedshåndterer til et arkobjekt, skal du klikke på det specifikke ark i projektvinduet og derefter vælge regneark fra rullemenuen Objekt (igen den eneste andet valg).
Når du har lavet dit valg fra rullelisten Objekt, kan du vælge arrangementet fra rullemenuen Procedure. Her er nogle af valgene til en arbejdsbogrelateret begivenhed.
Valg af en begivenhed i kodevinduet for ThisWorkbook-objektet.Når du vælger en begivenhed fra listen, begynder VBE automatisk at oprette en hændelseshåndteringsprocedure for dig. Dette er en meget nyttig funktion, fordi den fortæller dig præcis, hvad de rette argumenter er.
Her er en lille udsmykning. Når du først vælger Arbejdsbog fra objektlisten, antager VBE altid, at du vil oprette en hændelseshåndteringsprocedure for Open-hændelsen og opretter den for dig. Hvis du rent faktisk opretter en Workbook_Open-procedure, er det fint. Men hvis du opretter en anden hændelsesprocedure, skal du slette den tomme Workbook_Open Sub, der blev oprettet.
VBE's hjælp går dog kun så langt. Det skriver underopgørelsen og slutningsopgørelsen. At skrive VBA-koden, der går mellem disse to udsagn, er dit job.
Du behøver ikke rigtig at bruge disse to drop-down lister, men det gør dit job lettere, fordi navnet på begivenhedshåndteringsproceduren er kritisk vigtigt. Hvis du ikke får navnet rigtigt korrekt, virker proceduren ikke. Derudover bruger nogle begivenhedshåndteringsprocedurer en eller flere argumenter i underopgørelsen. Der er ingen måde, du kan huske, hvad disse argumenter er. Hvis du for eksempel vælger SheetActivate fra hændelseslisten til et Workbook-objekt, skriver VBE følgende underopgørelse:
Privat Sub Workbook_SheetActivate (ByVal Sh As Object)
I dette tilfælde overføres argumentet til proceduren til Sh og er en variabel, som repræsenterer arket i den aktiverede projektmappe.