Dogodki vdelanih grafikonov z uporabo VBA v Excelu

Kazalo:

Anonim

Uporaba dogodkov na listu grafikonov (delovnega lista, zlasti za grafikone) je dokaj preprosta. Kar pa zadeva uporabo dogodkov na vdelanih grafikonih, ni tako preprosto. Zagotavljam pa vam, da dogodkov z vgrajenimi grafikoni ni tako težko aktivirati. Podobno je ustvarjanju aplikacijskih dogodkov. Torej, brez nadaljnjega odlašanja, začnimo.

Torej obstajata dva koraka za aktiviranje dogodka vdelanega grafikona. Najprej je ustvarjanje razreda dogodkov grafikona in določanje dogodkov. Drugič, ustvarjanje predmeta tega razreda dogodkov. To je to.

1. korak: Ustvarite razred dogodka grafikona in določite dogodke

  • Vstavite modul razreda. Poimenujte ga, kot želite. Poimenoval sem ga ChartClass.
  • Določite spremenljivko dogodka vrste grafikona s ključno besedo WithEvents.
    Zasebno WithEvents CEvents As Chart
  • Inicializirajte ta dogodek v podprogramu class_initialize ().
    V spustnem meniju na levi izberite razred. Nato v zgornjem desnem spustnem meniju izberite inicializiraj.

    Zasebni podrazred_Initialize () Set CEvents = ActiveSheet.ChartObjects (1). 

    Tukaj inicializiramo grafikon dogodkov CE s prvim grafikonom, ustvarjenim na tem listu. 1 je indeksno število objektov grafikona na aktivnem listu.

  • Zdaj določite dogodke, ki jih želite uporabiti. V zgornjem levem spustnem meniju izberite predmet CEvent. Vsi razpoložljivi postopki za obravnavo dogodkov vam bodo na voljo v spustnem meniju zgoraj desno. Izberite, kar potrebujete, in določite, kaj želite storiti, ko se sproži ta dogodek.
    Za prikaz uporabe izberem dogodek CEvents_Activate. Uporabniku bom poskušal pokazati, da je dogodek grafikona aktiviran v polju za sporočilo.

    Private Sub CEvents_Activate () MsgBox "Dogodki na grafikonu delujejo" End Sub 

Naše delo tukaj je končano. Tukaj lahko iz razpoložljivih dogodkov za vrsto grafikona ustvarite poljubno število dogodkov. Toda dogodki še ne bodo delovali, ker je le pouk. Objekt tega razreda moramo ustvariti v podmornici v katerem koli običajnem modulu ali predmetnem modulu. Nato zaženite to podmornico. Po tem bo naš dogodek začel delovati.

2. korak: Ustvarite objekt razreda grafikona v modulu.

  • Vstavite običajen modul.
  • Razglasite spremenljivko razreda, ki ste ga ustvarili prej.
    Zatemni moj grafikon kot ChartClass
  • Ustvarite podmeni in inicializirajte spremenljivko z objektom razreda ChartClass.
    Sub enableChartEvent () Nastavi mychart = New End ChartClass End Sub

  • Zaženite to pomožno enoto s F5. Ko boste zagnali to kodo, bodo dogodki grafikona aktivni za prvi grafikon na trenutno aktivnem listu, saj smo to vrstico uporabili za inicializacijo nabora dogodkov grafikona CEvents = ActiveSheet.ChartObjects (1) .Chart.

In to je storjeno. Zdaj, če kliknete prvi grafikon na trenutno aktivnem listu, se prikaže sporočilo, da dogodki grafikona delujejo.

Vklop in izklop dogodkov aplikacije VBA

Ko zaženete makro v običajnem modulu, se bo sprožil vedno, dokler ne zaprete delovnega zvezka, ki vsebuje dogodke. Morda pa jih boste želeli vklopiti in izklopiti po svoji volji. To lahko storite na dva načina.

  • Izniči predmet dogodka
  • EnableEvents nastavite na False

1. Izničevanje predmeta dogodka

V ločeni podprogrami nastavite predmet dogodka na Nič

Private Sub StopEvents () Set Mychart = Nothing End Sub

Ko zaženete to kodo, bodo dogodki prenehali delovati. Za ustavitev dogodkov ga lahko vnesete v gumb na delovnem listu. Zdaj boste imeli dva gumba za zagon in ustavitev teh posebnih dogodkov. Prenehal bo le dogodke, ki jih ustvari objekt AppE.

2. EnableEvents nastavite na False

Druga metoda je onemogočanje dogodkov. Če želite, da so vsi dogodki neopazni, nastavimo lastnost EnableEvents razreda Application naNapačno.

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

Zgornja koda onemogoči vse dogodke. Tudi privzeti dogodki v Excelu. Ne bodo delovali, dokler jih znova ne zaženete. Tudi če zaženete podprogram StartEvents () (zgoraj), dogodek ne bo deloval. Če želite, da vsi dogodki znova delujejo, boste morali lastnost EnableEvents znova nastaviti na True.

Če torej želite, da vaši dogodki delujejo vsakič, ko zaženete dogodke, dodajte to vrstico kode v podpodročje.

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

Zagon dogodkov na grafikonu odjemalcev ob vsakem odpiranju delovnega zvezka

Če razvijate orodje za končnega uporabnika, boste morda želeli, da dogodki delujejo samodejno. V tem primeru lahko zaganjalnik dogodka postavite v objekt Delovni zvezek z dogodkom Workbook_open (), namesto v običajnem modulu. Tako bo vaš objekt dogodka inicializiran takoj, ko odprete delovni zvezek, ki vsebuje dogodke.

Torej, fantje, tako lahko uporabite dogodek vdelanega grafikona v Excelu. Sporočite mi, če je bilo to dovolj razlago in vam je pomagalo razumeti dogodke na ravni aplikacije v Excelu VBA. Zapišite svoje misli v spodnji odsek komentarjev. Če imate k temu kaj dodati, zapišite tudi to. V spodnjem razdelku za komentarje lahko postavite svoja vprašanja v zvezi s tem člankom ali katero koli drugo temo, povezano z Excelom VBA.

Spodaj prenesite delovno datoteko:

Dogodki v Excelu VBA |V Excelu je sedem vrst dogodkov. Vsak dogodek obravnava drugačen obseg. Dogodek aplikacije obravnava na ravni delovnega zvezka. Delovni zvezek na ravni listov. Dogodek delovnega lista na ravni območja.

Dogodki na delovnem listu v Excelu VBA| Dogodek delovnega lista je zelo uporaben, če želite, da se makri izvajajo, ko se na listu pojavi določen dogodek.

Dogodki v delovnem zvezku z uporabo VBA v programu Microsoft Excel | Dogodki v delovnem zvezku delujejo na celotnem delovnem zvezku. Ker so vsi listi del delovnega zvezka, tudi ti dogodki delujejo na njih.

Preprečite samodejno izvajanje/makro dogodkov z uporabo VBA v programu Microsoft Excel| Če želite preprečiti zagon makra auto_open, uporabite tipko shift.

Grafične dogodke grafikona z uporabo VBA v programu Microsoft Excel| Grafikoni so zapleteni predmeti in nanje ste pritrdili več komponent. Za ustvarjanje dogodkov grafikona uporabljamo modul razreda.

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. Teh 50 bližnjic bo vaše delo v Excelu še pospešilo.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.