Hendelser i Excel

Begrepet "Excel-hendelse» brukes til å indikere visse handlinger utført av brukeren i Excel. For eksempel, når en bruker bytter et arbeidsbokark, er dette en hendelse. Å legge inn data i en celle eller lagre en arbeidsbok er også Excel-hendelser.

Hendelser kan kobles til et Excel-regneark, til diagrammer, en arbeidsbok eller direkte til selve Excel-applikasjonen. Programmerere kan lage VBA-kode som vil bli utført automatisk når en hendelse inntreffer.

For for eksempel å kjøre en makro hver gang brukeren bytter et regneark i en Excel-arbeidsbok, oppretter du VBA-kode som kjøres hver gang hendelsen inntreffer SheetActivate arbeidsbok.

Og hvis du vil at makroen skal kjøre hver gang du går til et bestemt regneark (f.eks. Sheet1), må VBA-koden være knyttet til hendelsen Aktiver for dette arket.

VBA-koden som skal håndtere Excel-hendelser må plasseres i det aktuelle regnearket eller arbeidsbokobjektet i VBA-redigeringsvinduet (redigeringsprogrammet kan åpnes ved å klikke Alt + F11). For eksempel bør kode som skal kjøres hver gang en bestemt hendelse inntreffer på regnearknivå plasseres i kodevinduet for det regnearket. Dette er vist på figuren:

I Visual Basic-redigeringsprogrammet kan du se settet med alle Excel-hendelser som er tilgjengelige på arbeidsbok-, regneark- eller diagramnivå. Åpne kodevinduet for det valgte objektet og velg objekttypen fra rullegardinmenyen til venstre øverst i vinduet. Den høyre rullegardinmenyen øverst i vinduet vil vise hendelsene som er definert for dette objektet. Figuren nedenfor viser en liste over hendelser knyttet til et Excel-regneark:

Hendelser i Excel

Klikk på ønsket hendelse i den høyre rullegardinmenyen, og en prosedyre vil automatisk settes inn i kodevinduet for dette objektet Sub. i spissen for prosedyren Sub Excel setter automatisk inn de nødvendige argumentene (hvis noen). Alt som gjenstår er å legge til VBA-koden for å bestemme hvilke handlinger prosedyren skal utføre når den ønskede hendelsen oppdages.

Eksempel

I følgende eksempel, hver gang en celle er valgt B1 på arbeidsarket Sheet1 en meldingsboks vises.

For å utføre denne handlingen, må vi bruke regnearkhendelsen Selection_Change, som oppstår hver gang valget av en celle eller celleområde endres. Funksjon Selection_Change mottar som argument Target objekt -. Dette er hvordan vi vet hvilket celleområde som ble valgt.

Event Selection_Change oppstår med ethvert nytt valg. Men vi trenger at settet med handlinger kun utføres når cellen er valgt B1. For å gjøre dette sporer vi hendelsen kun i det angitte området Target. Hvordan det implementeres i programkoden vist nedenfor:

'Kode for å vise en meldingsboks når celle B1 er valgt' på gjeldende regneark. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Sjekk om celle B1 er valgt Hvis Target.Count = 1 Og Target.Row = 1 And Target.Column = 2 Deretter 'Hvis celle B1 er valgt, så gjør følgende MsgBox "Du har valgt en celle B1" End If End Sub

Legg igjen en kommentar