Események Excelben

Az "Excel esemény» a felhasználó által Excelben végrehajtott bizonyos műveletek jelzésére szolgál. Például, amikor egy felhasználó vált egy munkafüzet lapot, ez egy esemény. Az adatok cellába bevitele vagy a munkafüzet mentése szintén Excel-esemény.

Az események Excel-munkalapokhoz, diagramokhoz, munkafüzetekhez vagy közvetlenül magához az Excel alkalmazáshoz kapcsolhatók. A programozók létrehozhatnak VBA-kódot, amely automatikusan végrehajtásra kerül, amikor egy esemény bekövetkezik.

Például ha egy makró minden alkalommal lefut, amikor a felhasználó átvált egy munkalapot egy Excel-munkafüzetben, akkor létre kell hoznia egy VBA-kódot, amely minden alkalommal futni fog, amikor az esemény bekövetkezik. SheetActivate munkafüzet.

És ha azt szeretné, hogy a makró minden alkalommal fusson, amikor egy adott munkalapra lép (például Sheet1), akkor a VBA-kódot társítani kell az eseményhez Aktiválja ehhez a laphoz.

Az Excel események kezelésére szánt VBA kódot a VBA szerkesztő ablakában a megfelelő munkalap vagy munkafüzet objektumba kell elhelyezni (a szerkesztő a gombra kattintva nyitható meg Alt + F11). Például azt a kódot, amelyet minden alkalommal végre kell hajtani, amikor egy bizonyos esemény a munkalap szintjén történik, el kell helyezni az adott munkalap kódablakába. Ez látható az ábrán:

A Visual Basic szerkesztőben megtekintheti az összes elérhető Excel-esemény készletét munkafüzet, munkalap vagy diagram szinten. Nyissa meg a kiválasztott objektum kódablakát, és válassza ki az objektum típusát a bal oldali legördülő menüből az ablak tetején. Az ablak tetején található jobb oldali legördülő menü az objektumhoz meghatározott eseményeket jeleníti meg. Az alábbi ábra egy Excel-munkalaphoz kapcsolódó események listáját mutatja:

Események Excelben

Kattintson a kívánt eseményre a jobb oldali legördülő menüben, és egy eljárás automatikusan bekerül az objektum kódablakába alatt. az eljárás élén alatt Az Excel automatikusan beszúrja a szükséges argumentumokat (ha vannak). Már csak a VBA kód hozzáadása marad hátra, hogy meghatározza, milyen műveleteket kell végrehajtania az eljárásnak a kívánt esemény észlelésekor.

Példa

A következő példában minden alkalommal, amikor kijelöl egy cellát B1 a munkalapon Sheet1 üzenetablak jelenik meg.

A művelet végrehajtásához a munkalap eseményt kell használnunk Selection_Change, amely minden alkalommal előfordul, amikor egy cella vagy cellatartomány kiválasztása megváltozik. Funkció Selection_Change érvként fogadja cél tárgy -. Így tudjuk, hogy melyik cellatartományt választottuk ki.

esemény Selection_Change minden új kijelölésnél előfordul. De a műveletek halmazát csak akkor kell végrehajtani, ha a cella ki van jelölve B1. Ehhez csak a megadott tartományban követjük nyomon az eseményt cél. Hogyan valósul meg az alább látható programkódban:

"Kód üzenetdoboz megjelenítéséhez, ha a B1 cella ki van választva" az aktuális munkalapon. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Ellenőrizze, hogy a B1 cella ki van-e választva Ha Target.Count = 1 És Target.Row = 1 És Target.Column = 2 Majd "Ha a B1 cella ki van választva, akkor tegye a következőt: "MsgBox kijelölt egy cellát B1" End If End Sub

Hagy egy Válaszol