Události v Excelu

Pod pojmem "Excel událost» se používá k označení určitých akcí prováděných uživatelem v aplikaci Excel. Když například uživatel přepne list sešitu, jedná se o událost. Zadávání dat do buňky nebo ukládání sešitu jsou také události Excelu.

Události lze propojit s excelovým listem, s grafy, sešitem nebo přímo se samotnou aplikací Excel. Programátoři mohou vytvořit kód VBA, který se spustí automaticky, když dojde k události.

Chcete-li například spustit makro pokaždé, když uživatel přepne list v sešitu aplikace Excel, vytvoříte kód VBA, který se spustí pokaždé, když dojde k události. SheetActivate pracovní sešit.

A pokud chcete, aby se makro spustilo pokaždé, když přejdete na konkrétní list (např. Sheet1), pak musí být kód VBA přidružen k události Aktivovat pro tento list.

Kód VBA určený ke zpracování událostí aplikace Excel musí být umístěn do příslušného objektu listu nebo sešitu v okně editoru VBA (editor lze otevřít kliknutím na Alt + F11). Například kód, který by měl být proveden pokaždé, když dojde k určité události na úrovni listu, by měl být umístěn v okně kódu pro tento list. To je znázorněno na obrázku:

V editoru jazyka Visual Basic můžete zobrazit sadu všech událostí aplikace Excel dostupných na úrovni sešitu, listu nebo grafu. Otevřete okno kódu pro vybraný objekt a vyberte typ objektu z levé rozevírací nabídky v horní části okna. Pravá rozevírací nabídka v horní části okna zobrazí události definované pro tento objekt. Obrázek níže ukazuje seznam událostí spojených s excelovým listem:

Události v Excelu

Klikněte na požadovanou událost v pravém rozbalovacím menu a do okna kódu pro tento objekt se automaticky vloží procedura V. v čele procedury V Excel automaticky vloží požadované argumenty (pokud existují). Zbývá pouze přidat kód VBA, který určí, jaké akce má procedura provést, když je detekována požadovaná událost.

Příklad

V následujícím příkladu pokaždé, když je vybrána buňka B1 na pracovním listu Sheet1 zobrazí se okno se zprávou.

K provedení této akce musíme použít událost listu Selection_Change, ke kterému dochází pokaždé, když se změní výběr buňky nebo rozsahu buněk. Funkce Selection_Change přijímá jako argument Cíl objekt -. Takto víme, který rozsah buněk byl vybrán.

událost Selection_Change dojde při každém novém výběru. Potřebujeme však, aby se sada akcí provedla pouze při výběru buňky B1. K tomu budeme sledovat událost pouze v uvedeném rozsahu Cíl. Jak je implementován v kódu programu, který je uveden níže:

'Kód pro zobrazení okna se zprávou, když je vybrána buňka B1 'na aktuálním listu. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Zkontrolujte, zda je vybrána buňka B1 If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Pokud je vybrána buňka B1, proveďte následující MsgBox "Máte vybrali buňku B1" End If End Sub

Napsat komentář