Video: You Bet Your Life: Secret Word - Tree / Milk / Spoon / Sky 2024
Bent u benieuwd hoe u een gebeurtenisafhandelingsprocedure schrijft in VBA? ? De VBE helpt u wanneer u klaar bent om een gebeurtenis-handler-procedure te schrijven, het geeft een lijst weer van alle gebeurtenissen voor het geselecteerde object.
Aan de bovenkant van elk codevenster vindt u twee vervolgkeuzelijsten:
-
De vervolgkeuzelijst Object (die links)
-
De vervolgkeuzelijst Procedure (die rechts)
Standaard is de De vervolgkeuzelijst Object in het codevenster geeft Algemeen weer.
Als u een gebeurtenishandler schrijft voor het object ThisWorkbook, moet u op ThisWorkbook klikken in het projectvenster en vervolgens Werkboek kiezen in de vervolgkeuzelijst Object (het is de enige andere keuze).
Als u een gebeurtenishandler voor een Sheet-object schrijft, moet u op het specifieke blad in het projectvenster klikken en vervolgens Worksheet in de vervolgkeuzelijst Object (opnieuw, de enige andere keuze).
Nadat u uw keuze hebt gemaakt in de vervolgkeuzelijst Object, kunt u de gebeurtenis kiezen in de vervolgkeuzelijst Procedure. Hier zijn enkele keuzes voor een werkboekgerelateerd evenement.
Een gebeurtenis kiezen in het codevenster voor het object ThisWorkbook.Wanneer u een gebeurtenis uit de lijst selecteert, start VBE automatisch een procedure voor gebeurtenisafhandeling voor u. Dit is een zeer nuttige functie, omdat het u precies vertelt wat de juiste argumenten zijn.
Hier is een kleine gril. Wanneer u Workbook voor het eerst in de lijst Object selecteert, neemt VBE altijd aan dat u een gebeurtenis-handler-procedure voor de gebeurtenis Open wilt maken en deze voor u maakt. Als u daadwerkelijk een werkmap-procedure maakt, is dat prima. Maar als u een andere gebeurtenis-procedure maakt, moet u de lege werkmap -Open-sub verwijderen die is gemaakt.
De hulp van VBE gaat echter alleen zo ver. Het schrijft de Sub-instructie en de End Sub-instructie. Het schrijven van de VBA-code die tussen deze twee uitspraken door gaat, is jouw taak.
U hoeft deze twee vervolgkeuzelijsten niet echt te gebruiken, maar dit maakt uw taak eenvoudiger omdat de naam van de gebeurtenishandler-procedure van cruciaal belang is. Als u de naam niet precies weet, werkt de procedure niet. Ook gebruiken sommige gebeurtenishandlerprocedures een of meer argumenten in de Sub-instructie. Je kunt je niet herinneren wat die argumenten zijn. Als u bijvoorbeeld SheetActivate selecteert in de gebeurtenissenlijst voor een werkmapobject, schrijft VBE de volgende subinstructie:
Privé subwerkmap_SheetActivate (ByVal Sh als object)
In dit geval is Sh het argument dat aan de procedure is doorgegeven en is een variabele die het werkblad in de geactiveerde werkmap vertegenwoordigt.