Upotetut kaaviotapahtumat VBA: n avulla Excelissä

Kaaviotaulukon tapahtumien (erityisesti kaavioiden laskentataulukon) käyttäminen on melko yksinkertaista. Mutta kun on kyse tapahtumien käyttämisestä upotetuissa kaavioissa, se ei ole niin yksinkertaista. Vakuutan kuitenkin, että upotetuilla kaavioilla varustettuja tapahtumia ei ole niin vaikea aktivoida. Se on paljon kuin sovellustapahtumien luominen. Aloitetaan siis viipymättä.

Sulautetun kaavion tapahtuma voidaan aktivoida kahdella tavalla. Ensimmäinen on kaavion tapahtumaluokan luominen ja tapahtumien määrittäminen. Toinen on kyseisen tapahtumaluokan objektin luominen. Se siitä.

Vaihe 1: Luo kaavion tapahtumaluokka ja määritä tapahtumat

  • Aseta luokka moduuli. Nimeä se haluamallasi tavalla. Nimesin sen ChartClassiksi.
  • Määritä kaaviotyyppinen tapahtumamuuttuja avainsanalla WithEvents.
    Yksityinen Tapahtumien kanssa Tapahtumat kaaviona
  • Alusta tämä tapahtuma aliohjelmassa class_initialize ().
    Valitse luokka vasemmalla olevasta avattavasta valikosta. Valitse sitten avattavasta oikeasta yläkulmasta alustus.

    Private Sub Class_Initialize () Set CEvents = ActiveSheet.ChartObjects (1). 

    Tässä alustamme CEvents -kaavion ensimmäisellä kaavalla, joka on luotu kyseiselle arkille. 1 on aktiivisen taulukon kaavio -objektien indeksiluku.

  • Määritä nyt tapahtumat, joita haluat käyttää. Valitse vasemmasta yläreunan avattavasta valikosta CEvent-objekti. Kaikki käytettävissä olevat tapahtumakäsittelytoimenpiteet ovat käytettävissäsi oikeassa yläkulmassa olevassa avattavassa valikossa. Valitse haluamasi ja määritä, mitä haluat tehdä, kun tapahtuma käynnistyy.
    Käytännön osoittamiseksi valitsen CEvents_Activate -tapahtuman. Yritän näyttää käyttäjälle, että kaavion tapahtuma on aktivoitu viesti -ruudussa.

    Private Sub CEvents_Activate () MsgBox "Kaavio Tapahtumat toimivat" End Sub 

Työmme täällä on tehty. Voit luoda niin monta tapahtumaa kuin haluat kaaviotyypin käytettävissä olevista tapahtumista. Mutta tapahtumat eivät vielä toimi, koska se on vain luokka. Meidän on luotava tämän luokan objekti osaan missä tahansa normaalimoduulissa tai objektimoduulissa. Suorita sitten se sub. Sen jälkeen tapahtumamme alkaa toimia.

Vaihe 2: Luo kaavion luokkaobjekti moduulissa.

  • Aseta tavallinen moduuli paikalleen.
  • Ilmoita aiemmin luomasi luokan muuttuja.
    Dim mychart kuten ChartClass
  • Luo ali ja alusta muuttuja luokan ChartClass objektilla.
    Sub activChartEvent () Aseta mychart = New ChartClass End Sub

  • Suorita tämä sub käyttämällä F5. Kun käytät tätä koodia, kaaviotapahtumat ovat aktiivisia aktiivisen taulukon ensimmäiselle kaavalle, kun käytimme tätä riviä kaavion tapahtumasarjan alustamiseen CEtapaukset = ActiveSheet.ChartObjects (1).

Ja se on tehty. Jos napsautat aktiivisen taulukon ensimmäistä kaaviota, se näyttää viestin, että kaavion tapahtumat toimivat.

VBA -sovellustapahtumien kytkeminen päälle ja pois

Kun olet suorittanut makron normaalimoduulissa, se käynnistyy aina, kunnes suljet tapahtumat sisältävän työkirjan. Mutta voit halutessasi kytkeä ne päälle ja pois päältä haluamallasi tavalla. Voit tehdä tämän kahdella tavalla.

  • Tyhjennä tapahtumaobjekti
  • Aseta EnableEvents arvoksi False

1. Tapahtumaobjektin mitätöiminen

Aseta erillisessä aliohjelmassa tapahtumaobjektiksi Ei mitään

Private Sub StopEvents () Aseta Mychart = Nothing End Sub

Kun suoritat tämän koodin, tapahtumat lakkaavat toimimasta. Voit laittaa sen laskentataulukon painikkeeseen pysäyttääksesi tapahtumat. Nyt sinulla on kaksi painiketta näiden tapahtumien aloittamiseen ja lopettamiseen. Se vain pysäyttää AppE -objektin luomat tapahtumat.

2. Aseta EnableEvents -arvoksi False

Toinen tapa on poistaa tapahtumat käytöstä. Jotta kaikki tapahtumat olisivat sietämättömiä, asetimme sovellusluokan EnableEvents -ominaisuuden arvoksiVäärä.

Yksityinen osa StopEvents () Application.EnableEvents = False End Sub

Yllä oleva koodi poistaa kaikki tapahtumat käytöstä. Edes Excel -tapahtumat. Ne eivät toimi, ennen kuin aloitat ne uudelleen. Vaikka suoritat StartEvents () -aliohjelman (yllä), tapahtuma ei toimi. Jotta kaikki tapahtumat toimisivat uudelleen, sinun on asetettava EnableEvents -ominaisuuden arvoksi uudelleen True.

Joten jos haluat tapahtumiesi toimivan joka kerta, kun aloitat tapahtumat, lisää tämä koodirivi alaosaan.

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

Custome Chart -tapahtumien käynnistäminen aina, kun työkirja avataan

Jos kehität työkalua loppukäyttäjälle, saatat haluta tapahtumien toimivan automaattisesti. Siinä tapauksessa voit laittaa tapahtuman käynnistimen Workbook_open () -tapahtuman työkirjaobjektiin normaalimoduulin sijaan. Tapahtumaobjekti alustetaan heti, kun avaat tapahtumat sisältävän työkirjan.

Joten kyllä, kaverit, näin voit käyttää upotettua kaavitapahtumaa Excelissä. Kerro minulle, oliko tämä tarpeeksi selittävä ja auttoi sinua ymmärtämään sovellustason tapahtumia Excel VBA: ssa. Kirjoita ajatuksesi alla olevaan kommenttiosaan. Jos sinulla on jotain lisättävää tähän, kirjoita se myös. Voit kysyä tähän artikkeliin tai muihin Excel VBA -aiheisiin liittyvistä kysymyksistäsi alla olevissa kommenttiosioissa.

Lataa alla oleva työtiedosto:

Tapahtumat Excel VBA: ssa |Excelissä on seitsemän tyyppisiä tapahtumia. Jokainen tapahtuma koskee eri ulottuvuuksia. Sovellustapahtuma käsittelee työkirjatasolla. Työkirja arkitasolla. Laskentataulukon tapahtuma alueen tasolla.

Laskentataulukon tapahtumat Excel VBA: ssa| Laskentataulukkotapahtuma on todella hyödyllinen, kun haluat makrojesi suoritettavan, kun taulukossa tapahtuu tietty tapahtuma.

Työkirjan tapahtumat VBA: n avulla Microsoft Excelissä | Työkirjan tapahtumat koskevat koko työkirjaa. Koska kaikki taulukot ovat osa työkirjaa, nämä tapahtumat toimivat myös niissä.

Estä automacron/eventmacron suorittaminen käyttämällä VBA: ta Microsoft Excelissä| Voit estää auto_open -makron käytön vaihtonäppäimellä.

Kaavioobjektitapahtumat VBA: n avulla Microsoft Excelissä| Kaaviot ovat monimutkaisia ​​objekteja, ja niihin on liitetty useita komponentteja. Kaaviotapahtumien tekemiseen käytämme Luokka -moduulia.

Suosittuja artikkeleita:

50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä nopeuttavat työtäsi Excelissä.

VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.

COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.

SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave