Video: TRÄNA SKRIVA 1 2024
Är du nyfiken på hur man skriver en händelsehanteringsprocedur i VBA ? VBE hjälper dig när du är redo att skriva ett händelsehanteringsförfarande, det visar en lista över alla händelser för det valda objektet.
Överst i varje kodfönster hittar du två listrutor:
-
Objektlistan (den till vänster)
-
Rutan nedrullningsbar (den till höger)
Som standard Objektmenyn i kodfönstret visar Allmänt.
Om du skriver en händelsehanterare för ThisWorkbook-objektet måste du klicka på ThisWorkbook i projektfönstret och sedan välja Arbetsbok från objektfältet (det är det enda andra valet).
Om du skriver en händelsehanterare för ett Ark-objekt måste du klicka på det specifika arket i projektfönstret och sedan välja Arbetsblad från listrutan Objekt (igen den enda annat val).
När du har valt ditt val i listrutan Objekt, kan du välja händelsen i rullgardinsmenyn Procedure. Här är några av valen för en arbetsbokrelaterad händelse.
Välja en händelse i kodfönstret för ThisWorkbook-objektet.När du väljer en händelse från listan börjar VBE automatiskt skapa en händelsehanteringsprocedur för dig. Det här är en väldigt användbar funktion, eftersom den berättar precis vad de rätta argumenten är.
Här är lite litet. När du först väljer Arbetsbok från Objektlistan, antar VBE alltid att du vill skapa en händelsehanteringsprocedur för Open-händelsen och skapa den för dig. Om du faktiskt skapar en Workbook_Open-procedur, är det bra. Men om du skapar en annan händelse-procedur, måste du radera den tomma Workbook_Open Sub som skapades.
VBEs hjälp går dock bara så långt. Det skriver Sub-förklaringen och slutet Sub-förklaringen. Att skriva VBA-koden som går mellan dessa två uttalanden är ditt jobb.
Du behöver egentligen inte använda de två listrutorna, men det gör jobbet enklare eftersom namnet på händelsehanteringsrutinen är kritiskt viktigt. Om du inte får namnet exakt rätt, fungerar inte proceduren. Vissa händelsehanteringsprocedurer använder också ett eller flera argument i Sub-satsen. Det finns inget sätt att du kan komma ihåg vad dessa argument är. Om du till exempel väljer SheetActivate från händelselistan för ett Workbook-objekt skriver VBE följande Sub statement:
Privat Sub Workbook_SheetActivate (ByVal Sh As Object)
I det här fallet skickas Sh argumentet till proceduren och är en variabel som representerar arket i den aktiverade arbetsboken.