Události vloženého grafu pomocí VBA v aplikaci Excel

Použití událostí na listu grafu (list zejména pro grafy) je poměrně jednoduché. Ale pokud jde o použití událostí na vložených grafech, není to tak jednoduché. Ale ujišťuji vás, že události s vloženými grafy není tak obtížné aktivovat. Je to velmi podobné vytváření událostí aplikací. Takže bez dalšího zdržování začněme.

K aktivaci události vloženého grafu tedy existují dva kroky. První je vytvoření třídy událostí grafu a definování událostí. Za druhé je vytvoření objektu této třídy událostí. A je to.

Krok 1: Vytvořte třídu událostí grafu a definujte události

  • Vložte modul třídy. Pojmenujte to, jak chcete. Pojmenoval jsem to ChartClass.
  • Definujte proměnnou události typu Chart pomocí klíčového slova WithEvents.
    Soukromý WithEvents CEvents jako graf
  • Inicializujte tuto událost v podprogramu class_initialize ().
    V rozevíracím seznamu vlevo vyberte třídu. Poté v rozevíracím seznamu vpravo nahoře vyberte inicializovat.

    Soukromá podtřída_Initialize () Nastavit CEvents = ActiveSheet.ChartObjects (1). 

    Zde inicializujeme graf CEvents s prvním grafem vytvořeným na tomto listu. 1 je indexový počet objektů grafu na aktivním listu.

  • Nyní definujte události, které chcete použít. V rozevíracím seznamu vlevo nahoře vyberte objekt CEvent. Všechny dostupné postupy zpracování událostí vám budou k dispozici v rozbalovací nabídce vpravo nahoře. Vyberte, co požadujete, a definujte, co chcete dělat, když se událost spustí.
    Abych demonstroval použití, volím událost CEvents_Activate. Pokusím se uživateli ukázat, že událost grafu je aktivována v poli zprávy.

    Private Sub CEvents_Activate () MsgBox "Události grafu fungují" End Sub 

Naše práce je zde hotová. Zde můžete z dostupných událostí pro typ grafu vytvořit libovolný počet událostí. Ale události ještě nebudou fungovat, protože je to jen třída. Potřebujeme vytvořit objekt této třídy v sub v libovolném normálním modulu nebo modulu objektu. Potom spusťte ten sub. Poté naše akce začne fungovat.

Krok 2: Vytvořte objekt třídy grafu v modulu.

  • Vložte normální modul.
  • Deklarujte proměnnou třídy, kterou jste vytvořili dříve.
    Dim mychart As ChartClass
  • Vytvořte dílčí a inicializujte proměnnou s objektem třídy ChartClass.
    Sub activateChartEvent () Set mychart = New ChartClass End Sub

  • Spusťte tento sub pomocí F5. Jak spustíte tento kód, události grafu budou aktivní pro první graf na aktuálně aktivním listu, protože tento řádek jsme použili pro inicializaci sady událostí grafu CEvents = ActiveSheet.ChartObjects (1) .Chart.

A je hotovo. Pokud nyní kliknete na první graf na aktuálně aktivním listu, zobrazí se zpráva, že události grafu fungují.

Zapnutí a vypnutí událostí aplikace VBA

Jakmile spustíte makro v normálním modulu, spustí se vždy, dokud nezavřete sešit, který obsahuje události. Možná je ale budete chtít libovolně zapínat a vypínat. To lze provést dvěma způsoby.

  • Zrušit objekt události
  • Nastavte EnableEvents na False

1. Zrušení objektu události

V samostatném podprogramu nastavte objekt události na Nic

Private Sub StopEvents () Set Mychart = Nothing End Sub

Jakmile spustíte tento kód, události přestanou fungovat. Události můžete zastavit stisknutím tlačítka na listu. Nyní budete mít dvě tlačítka ke spuštění a zastavení těchto konkrétních událostí. Prostě zastaví události vytvořené objektem AppE.

2. Nastavte EnableEvents na False

Druhá metoda je zakázat události. Aby byly všechny události nechytatelné, nastavíme vlastnost EnableEvents třídy Application naNepravdivé.

Private Sub StopEvents () Application.EnableEvents = False End Sub

Výše uvedený kód zakáže všechny události. Dokonce i výchozí události aplikace Excel. Nebudou fungovat, dokud je znovu nespustíte. I když spustíte podprogram StartEvents () (výše), událost nebude fungovat. Aby všechny události opět fungovaly, budete muset vlastnost EnableEvents znovu nastavit na True.

Pokud tedy chcete, aby vaše události fungovaly při každém spuštění událostí, přidejte tento řádek kódu do dílčího programu.

Private Sub StartEvents () Application.EnableEvents = True Set mychart = New ChartClass End Sub

Zahájení událostí vlastní tabulky pokaždé, když se otevře sešit

Pokud vyvíjíte nástroj pro koncové uživatele, můžete chtít, aby události fungovaly automaticky. V takovém případě můžete umístit spouštěč událostí do objektu sešitu s událostí Workbook_open () namísto do normálního modulu. Díky tomu bude váš objekt události inicializován, jakmile otevřete sešit, který obsahuje události.

Takže jo, lidi, takto můžete použít událost vloženého grafu v aplikaci Excel. Dejte mi vědět, jestli to bylo dostatečně vysvětlující a pomohlo vám to pochopit události na úrovni aplikace v aplikaci Excel VBA. Napište své myšlenky do sekce komentářů níže. Pokud k tomu chcete něco dodat, napište to také. Můžete se zeptat na vaše dotazy týkající se tohoto článku nebo jiného tématu souvisejícího s excelem VBA v sekci komentáře níže.

Stáhněte si pracovní soubor níže:

Události v aplikaci Excel VBA |V aplikaci Excel je sedm typů událostí. Každá událost se zabývá jiným rozsahem. Událost aplikace se zabývá na úrovni sešitu. Sešit na úrovni listů. Pracovní list Událost na úrovni rozsahu.

Události listu v aplikaci Excel VBAZpět nahoru Dejte nám zpětnou vazbu Řešení Událost listu je opravdu užitečná, když chcete, aby se vaše makra spustila, když na listu dojde k zadané události.

Události sešitu pomocí VBA v Microsoft Excelu | Události sešitu fungují na celém sešitu. Protože jsou všechny listy součástí sešitu, fungují na nich i tyto události.

Zabraňte spuštění automacro/eventmacro pomocí VBA v Microsoft Excelu| Chcete -li zabránit spuštění makra auto_open, použijte klávesu shift.

Události objektů grafu pomocí VBA v aplikaci Microsoft Excel| Grafy jsou složité objekty a je k nim připojeno několik komponent. K vytváření Chart Events používáme modul Class.

Oblíbené články:

50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 zkratek vám v Excelu práci ještě zrychlí.

Funkce VLOOKUP v Excelu | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.

COUNTIF v aplikaci Excel 2016 | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétní hodnoty není nutné filtrovat data. Funkce Countif je nezbytná pro přípravu řídicího panelu.

Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave