Gebeurtenissen in Excel

De term "Excel-gebeurtenis» wordt gebruikt om bepaalde acties aan te geven die door de gebruiker in Excel zijn uitgevoerd. Als een gebruiker bijvoorbeeld van werkmapblad wisselt, is dit een gebeurtenis. Het invoeren van gegevens in een cel of het opslaan van een werkmap zijn ook Excel-gebeurtenissen.

Gebeurtenissen kunnen worden gekoppeld aan een Excel-werkblad, aan grafieken, een werkmap of rechtstreeks aan de Excel-toepassing zelf. Programmeurs kunnen VBA-code maken die automatisch wordt uitgevoerd wanneer zich een gebeurtenis voordoet.

Als u bijvoorbeeld een macro wilt laten uitvoeren telkens wanneer de gebruiker van werkblad in een Excel-werkmap wisselt, maakt u VBA-code die elke keer dat de gebeurtenis plaatsvindt, wordt uitgevoerd BladActiveren werkboek.

En als u wilt dat de macro elke keer wordt uitgevoerd als u naar een specifiek werkblad gaat (bijvoorbeeld Sheet1), dan moet de VBA-code aan de gebeurtenis worden gekoppeld Activeren voor dit blad.

De VBA-code die bedoeld is om Excel-gebeurtenissen af ​​te handelen, moet in het juiste werkblad of werkmapobject in het VBA-editorvenster worden geplaatst (de editor kan worden geopend door te klikken op Alt + F11). Code die bijvoorbeeld moet worden uitgevoerd telkens wanneer een bepaalde gebeurtenis op werkbladniveau plaatsvindt, moet in het codevenster voor dat werkblad worden geplaatst. Dit is weergegeven in de figuur:

In de Visual Basic-editor kunt u de set van alle Excel-gebeurtenissen bekijken die beschikbaar zijn op werkmap-, werkblad- of grafiekniveau. Open het codevenster voor het geselecteerde object en selecteer het objecttype in het linker vervolgkeuzemenu bovenaan het venster. Het rechter vervolgkeuzemenu bovenaan het venster toont de gebeurtenissen die voor dit object zijn gedefinieerd. De onderstaande afbeelding toont een lijst met gebeurtenissen die zijn gekoppeld aan een Excel-werkblad:

Gebeurtenissen in Excel

Klik op de gewenste gebeurtenis in het rechter vervolgkeuzemenu en er wordt automatisch een procedure ingevoegd in het codevenster voor dit object Sub. aan het hoofd van de procedure Sub Excel voegt automatisch de vereiste argumenten in (indien aanwezig). Het enige dat overblijft is om de VBA-code toe te voegen om te bepalen welke acties de procedure moet uitvoeren wanneer de gewenste gebeurtenis wordt gedetecteerd.

Voorbeeld

In het volgende voorbeeld wordt elke keer dat een cel wordt geselecteerd B1 op het werkblad Sheet1 een berichtvenster verschijnt.

Om deze actie uit te voeren, moeten we de werkbladgebeurtenis gebruiken Selectie_Wijzigen, die optreedt telkens wanneer de selectie van een cel of celbereik verandert. Functie Selectie_Wijzigen ontvangt als argument doelwit object -. Zo weten we welk celbereik is geselecteerd.

Event Selectie_Wijzigen treedt op bij elke nieuwe selectie. Maar we hebben de reeks acties nodig die alleen worden uitgevoerd wanneer de cel is geselecteerd B1. Om dit te doen, volgen we de gebeurtenis alleen in het opgegeven bereik doelwit. Hoe het wordt geïmplementeerd in de onderstaande programmacode:

'Code om een ​​berichtvenster weer te geven wanneer cel B1 is geselecteerd' op het huidige werkblad. Private Sub Worksheet_SelectionChange (ByVal Target As Range) 'Controleer of cel B1 is geselecteerd If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Als cel B1 is geselecteerd, doe dan de volgende MsgBox "U hebt een cel geselecteerd B1" End If End Sub

Laat een reactie achter