Udalosti vstavaných grafov pomocou VBA v programe Excel

Použitie udalostí v hárku grafu (pracovný hárok najmä pre grafy) je pomerne jednoduché. Ale pokiaľ ide o používanie udalostí na vložených grafoch, nie je to také jednoduché. Uisťujem vás však, že udalosti s vloženými grafmi nie je také ťažké aktivovať. Je to podobné ako vytváranie udalostí aplikácií. Takže bez ďalšieho zdržania začnime.

Existujú teda dva kroky na aktiváciu udalosti vloženého grafu. Prvým je vytvorenie triedy udalostí grafu a definovanie udalostí. Druhým je vytvorenie objektu tejto triedy udalostí. To je všetko.

Krok 1: Vytvorte triedu udalostí v grafe a definujte udalosti

  • Vložte modul triedy. Pomenujte to ako chcete. Pomenoval som to ChartClass.
  • Definujte premennú udalosti typu Graf pomocou kľúčového slova WithEvents.
    Private WithEvents CEvents ako graf
  • Inicializujte túto udalosť v podprograme class_initialize ().
    V rozbaľovacej ponuke vľavo vyberte triedu. Potom v rozbaľovacej ponuke vpravo hore vyberte položku inicializovať.

    Súkromná podtrieda_Initialize () Nastaviť CEvents = ActiveSheet.ChartObjects (1). 

    Tu inicializujeme graf CEvents s prvým grafom vytvoreným na tomto hárku. 1 je indexový počet objektov grafu na aktívnom hárku.

  • Teraz definujte udalosti, ktoré chcete použiť. V rozbaľovacej ponuke vľavo hore vyberte objekt CEvent. Všetky dostupné postupy spracovania udalostí vám budú k dispozícii v rozbaľovacej ponuke vpravo hore. Vyberte si, čo požadujete, a definujte, čo chcete robiť, keď sa spustí táto udalosť.
    Na ukážku použitia som zvolil udalosť CEvents_Activate. Pokúsim sa používateľovi ukázať, že udalosť grafu je aktivovaná v poli správy.

    Private Sub CEvents_Activate () MsgBox "Udalosti grafu fungujú" End Sub 

Naša práca tu je hotová. Tu môžete z dostupných udalostí pre typ grafu vytvoriť ľubovoľný počet udalostí. Udalosti však ešte nebudú fungovať, pretože je to len trieda. Objekt tejto triedy musíme vytvoriť v podskupine v ľubovoľnom normálnom alebo objektovom module. Potom spustite tento sub. Potom naša akcia začne fungovať.

Krok 2: Vytvorte objekt triedy grafu v module.

  • Vložte normálny modul.
  • Deklarujte premennú triedy, ktorú ste vytvorili predtým.
    Dim mychart As ChartClass
  • Vytvorte podradenú položku a inicializujte premennú pomocou objektu triedy ChartClass.
    PodaktiváciaChartEvent () Nastaviť mychart = Nový koncový podtrieda ChartClass

  • Spustite tento sub pomocou F5. Keď spustíte tento kód, udalosti grafu budú aktívne pre prvý graf na aktuálne aktívnom hárku, pretože tento riadok sme použili na inicializáciu sady udalostí grafu CEvents = ActiveSheet.ChartObjects (1) .Chart.

A je hotovo. Ak teraz kliknete na prvý graf na aktuálne aktívnom hárku, zobrazí sa správa, že udalosti grafu fungujú.

Zapínanie a vypínanie udalostí aplikácií VBA

Keď makro spustíte v normálnom module, spustí sa vždy, kým nezavriete zošit, ktorý obsahuje udalosti. Možno ich však budete chcieť zapnúť a vypnúť podľa vlastnej vôle. Existujú dva spôsoby, ako to urobiť.

  • Zrušte označenie objektu udalosti
  • Nastavte EnableEvents na False

1. Zrušenie objektu udalosti

V samostatnom podprograme nastavte objekt udalosti na Nič

Private Sub StopEvents () Nastaviť Mychart = Nothing End Sub

Akonáhle spustíte tento kód, udalosti prestanú fungovať. Udalosti môžete zastaviť tak, že ich umiestnite do tlačidla na pracovnom hárku. Teraz budete mať dve tlačidlá na spustenie a zastavenie týchto konkrétnych udalostí. Jednoducho zastaví udalosti vytvorené objektom AppE.

2. Nastavte položku EnableEvents na hodnotu False

Druhou metódou je vypnutie udalostí. Aby boli všetky udalosti nechytateľné, nastavili sme vlastnosť EnableEvents triedy Application naFalošné.

Private Sub StopEvents () Application.EnableEvents = Falošný koniec Sub

Vyššie uvedený kód zakáže všetky udalosti. Dokonca aj predvolené akcie programu Excel. Nebudú fungovať, kým ich znova nespustíte. Aj keď spustíte podprogram StartEvents () (vyššie), udalosť nebude fungovať. Aby všetky akcie opäť fungovali, budete musieť znova nastaviť vlastnosť EnableEvents na True.

Ak teda chcete, aby vaše akcie fungovali pri každom spustení udalostí, pridajte tento riadok kódu do podsekcie.

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

Spustenie udalostí vlastnej tabuľky vždy, keď sa zošit otvorí

Ak vyvíjate nástroj pre koncových používateľov, možno budete chcieť, aby udalosti pracovali automaticky. V takom prípade môžete miesto štartéra udalostí vložiť do objektu zošit s udalosťou Workbook_open (), nie do normálneho modulu. Vďaka tomu sa váš objekt udalosti inicializuje hneď, ako otvoríte zošit, ktorý obsahuje udalosti.

Takže áno, chlapci, takto môžete použiť udalosť vloženého grafu v programe Excel. Dajte mi vedieť, či to bolo dostatočne vysvetľujúce a pomohlo vám to porozumieť udalostiam na úrovni aplikácie v programe Excel VBA. Napíšte svoje myšlienky do nižšie uvedenej sekcie komentárov. Ak k tomu chcete niečo dodať, napíšte to tiež. Svoje otázky týkajúce sa tohto článku alebo akejkoľvek inej témy súvisiacej s programom VBA programu Excel môžete položiť v sekcii komentárov nižšie.

Stiahnite si pracovný súbor nižšie:

Udalosti v programe Excel VBA |V programe Excel je sedem typov udalostí. Každá udalosť má iný rozsah. Udalosť aplikácie sa zaoberá na úrovni zošita. Pracovný zošit na úrovni listov. Pracovný list Udalosť na úrovni rozsahu.

Udalosti pracovného hárka v programe Excel VBA| Udalosť pracovného hárka je skutočne užitočná, keď chcete, aby sa vaše makrá spustili, keď sa v hárku vyskytne zadaná udalosť.

Udalosti zošita pomocou jazyka VBA v programe Microsoft Excel | Udalosti zošita fungujú na celom zošite. Keďže všetky listy sú súčasťou pracovného zošita, tieto udalosti na nich tiež fungujú.

Zabráňte spusteniu programu automacro/eventmacro pomocou programu VBA v programe Microsoft Excel| Ak chcete zabrániť spusteniu makra auto_open, použite kláves Shift.

Graf udalostí objektu pomocou VBA v programe Microsoft Excel| Grafy sú komplexné objekty a je k nim pripojených niekoľko komponentov. Na vytváranie grafových udalostí používame modul Trieda.

Populárne články:

50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám v Exceli prácu ešte zrýchli.

Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.

COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnej hodnoty nie je potrebné filtrovať údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.

Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave