Begivenheder i Excel

Udtrykket "Excel begivenhed» bruges til at angive bestemte handlinger, som brugeren udfører i Excel. For eksempel, når en bruger skifter et projektmappeark, er dette en hændelse. Indtastning af data i en celle eller lagring af en projektmappe er også Excel-begivenheder.

Hændelser kan linkes til et Excel-regneark, til diagrammer, en projektmappe eller direkte til selve Excel-applikationen. Programmører kan oprette VBA-kode, der vil blive eksekveret automatisk, når en hændelse opstår.

For at få en makro til at køre hver gang brugeren skifter et regneark i en Excel-projektmappe, vil du oprette VBA-kode, der kører hver gang hændelsen opstår SheetActivate projektmappe.

Og hvis du vil have makroen til at køre hver gang du går til et bestemt regneark (f.eks. Sheet1), så skal VBA-koden være tilknyttet begivenheden Aktivere for dette ark.

VBA-koden beregnet til at håndtere Excel-hændelser skal placeres i det relevante regneark eller projektmappeobjekt i VBA-editorvinduet (editoren kan åbnes ved at klikke på Alt + F11). For eksempel skal kode, der skal udføres, hver gang en bestemt hændelse opstår på regnearksniveau, placeres i kodevinduet for det pågældende regneark. Dette er vist på figuren:

I Visual Basic-editoren kan du se sættet af alle Excel-hændelser, der er tilgængelige på projektmappe-, regnearks- eller diagramniveau. Åbn kodevinduet for det valgte objekt, og vælg objekttypen fra rullemenuen til venstre øverst i vinduet. Den højre rullemenu øverst i vinduet viser de hændelser, der er defineret for dette objekt. Figuren nedenfor viser en liste over begivenheder, der er knyttet til et Excel-regneark:

Begivenheder i Excel

Klik på den ønskede hændelse i den højre rullemenu, og en procedure vil automatisk blive indsat i kodevinduet for dette objekt Under. i spidsen for proceduren Under Excel indsætter automatisk de nødvendige argumenter (hvis nogen). Det eneste, der er tilbage, er at tilføje VBA-koden for at bestemme, hvilke handlinger proceduren skal udføre, når den ønskede hændelse detekteres.

Eksempel

I det følgende eksempel, hver gang en celle er valgt B1 på arbejdsarket Sheet1 en beskedboks vises.

For at udføre denne handling skal vi bruge regnearkshændelsen Selection_Change, som opstår hver gang valget af en celle eller et celleområde ændres. Fungere Selection_Change modtager som argument mål objekt . Sådan ved vi, hvilket celleområde der blev valgt.

begivenhed Selection_Change opstår med ethvert nyt valg. Men vi har brug for, at sættet af handlinger kun udføres, når cellen er valgt B1. For at gøre dette sporer vi kun hændelsen inden for det angivne område mål. Hvordan det implementeres i programkoden vist nedenfor:

'Kode til at vise en beskedboks, når celle B1 er valgt' på det aktuelle regneark. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Tjek om celle B1 er valgt Hvis Target.Count = 1 Og Target.Row = 1 And Target.Column = 2 Så 'Hvis celle B1 er valgt, så gør følgende MsgBox "Du har valgt en celle B1" End If End Sub

Giv en kommentar