Manustatud diagrammi sündmused VBA abil Excelis

Diagrammilehe sündmuste (tööleht, eriti diagrammide jaoks) kasutamine on üsna lihtne. Kuid kui tegemist on sündmuste kasutamisega manustatud diagrammidel, pole see nii lihtne. Kuid ma kinnitan teile, et manustatud diagrammidega sündmusi pole nii raske aktiveerida. See sarnaneb rakendussündmuste loomisega. Nii et alustame viivitamata.

Seega on manustatud diagrammi sündmuse aktiveerimiseks kaks sammu. Esiteks on diagrammi sündmuste klassi loomine ja sündmuste määratlemine. Teiseks on selle sündmusklassi objekti loomine. See on kõik.

Samm: looge diagrammi sündmuste klass ja määratlege sündmused

  • Sisestage klassi moodul. Nimetage seda nii, nagu soovite. Panin sellele nimeks ChartClass.
  • Määratlege diagrammitüüpi sündmuste muutuja märksõnaga WithEvents.
    Privaatne sündmustega CEüritused diagrammina
  • Initsialiseeri see sündmus alamprogrammis class_initialize ().
    Valige vasakpoolsest rippmenüüst klass. Seejärel valige paremas ülanurgas rippmenüüst lähtestamine.

    Privaatne alamklass_algatus () Määra CEvents = ActiveSheet.ChartObjects (1). Diagrammi lõpu alam 

    Siin lähtestame CE -sündmuste diagrammi esimese sellel lehel loodud diagrammiga. 1 on aktiivse lehe diagrammiobjektide indeks.

  • Nüüd määrake sündmused, mida soovite kasutada. Valige vasakus ülanurgas rippmenüüst CEvent objekt. Kõik saadaolevad sündmuste käsitlemise toimingud on teile saadaval paremas ülanurgas. Valige soovitud ja määrake, mida soovite teha, kui see sündmus käivitub.
    Kasutamise demonstreerimiseks valin sündmuse CEvents_Activate. Proovin kasutajale näidata, et diagrammi sündmus on sõnumikastis aktiveeritud.

    Private Sub CEvents_Activate () MsgBox "Diagramm Sündmused töötavad" End Sub 

Meie töö siin on tehtud. Siin saate diagrammitüübi jaoks saadaolevatest sündmustest luua nii palju sündmusi kui soovite. Kuid üritused ei tööta veel, sest see on lihtsalt klass. Peame selle klassi objekti looma mis tahes tavalises moodulis või objektimoodulis. Seejärel käivitage see alam. Pärast seda hakkab meie üritus toimima.

2. samm: looge moodulis diagrammiklassi objekt.

  • Sisestage tavaline moodul.
  • Kuulutage varem loodud klassi muutuja.
    Dim mychart nagu ChartClass
  • Looge alam ja vormindage muutuja klassi ChartClass objektiga.
    Sub activChartEvent () Määra mychart = New ChartClass End Sub

  • Käivitage see alam, kasutades klahvi F5. Selle koodi käivitamisel on diagrammi sündmused aktiivse lehe esimese diagrammi jaoks aktiivsed, kuna kasutasime seda rida diagrammi sündmuste komplekti lähtestamiseks CEvents = ActiveSheet.ChartObjects (1). Diagramm

Ja seda tehakse. Kui klõpsate praegu aktiivse lehe esimesel diagrammil, näitab see sõnumit, et diagrammi sündmused töötavad.

VBA rakenduse sündmuste sisse- ja väljalülitamine

Kui olete makro tavalises moodulis käivitanud, käivitub see alati, kuni sulgete sündmusi sisaldava töövihiku. Kuid võib -olla soovite need oma äranägemise järgi sisse ja välja lülitada. Selleks on kaks võimalust.

  • Sündmuse objekti tühistamine
  • Määrake EnableEvents väärtuseks Väär

1. Sündmuse objekti tühistamine

Eraldi alamprogrammis määrake sündmuse objekt väärtuseks Mitte midagi

Private Sub StopEvents () Set Mychart = Nothing End Sub

Kui olete selle koodi käivitanud, lakkavad sündmused töötamast. Sündmuste peatamiseks saate selle töölehe nupule panna. Nüüd on teil nende sündmuste alustamiseks ja peatamiseks kaks nuppu. See lihtsalt peatab AppE objekti loodud sündmused.

2. Määrake EnableEvents väärtuseks Väär

Teine meetod on sündmuste keelamine. Kõigi sündmuste kättesaamatuks muutmiseks määrasime rakendusklassi omaduse EnableEvents väärtuseksVale.

Privaatne alam StopEvents () Application.EnableEvents = False End Sub

Ülaltoodud kood keelab kõik sündmused. Isegi vaikimisi Exceli sündmused. Need ei tööta enne, kui alustate neid uuesti. Isegi kui käivitate alamprogrammi StartEvents () (ülal), ei toimi sündmus. Kõikide sündmuste uuesti toimimiseks peate EnableEvents atribuudi uuesti väärtuseks True määrama.

Nii et kui soovite, et teie sündmused toimiksid iga kord sündmuste käivitamisel, lisage see koodirida alamjaotisse.

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

Custome Chart'i sündmuste käivitamine iga kord, kui töövihik avatakse

Kui arendate lõppkasutajale tööriista, võiksite soovida, et sündmused toimiksid automaatselt. Sellisel juhul saate sündmuse käivitaja panna tavalise mooduli asemel töövihiku objekti sündmusega Workbook_open (). See muudab teie sündmusobjekti initsialiseerituks kohe, kui avate sündmusi sisaldava töövihiku.

Nii et jah, poisid, nii saate Excelis manustatud diagrammi sündmust kasutada. Andke mulle teada, kas see oli piisavalt selgitav ja aitas teil mõista rakenduse taseme sündmusi Excel VBA-s. Kirjutage oma mõtted allpool olevasse kommentaaride sektsiooni. Kui teil on sellele midagi lisada, kirjutage see ka üles. Allpool olevas kommentaaride jaotises saate esitada oma päringuid, mis on seotud selle artikli või mõne muu Exceli VBA -ga seotud teemaga.

Laadige alla tööfail:

Sündmused Excelis VBA |Excelis on seitset tüüpi sündmusi. Iga sündmus käsitleb erinevat ulatust. Rakendussündmus käsitleb töövihiku taset. Töövihik lehtede tasemel. Töölehe sündmus vahemiku tasemel.

Töölehe sündmused Excel VBA -s| Töölehe sündmus on tõesti kasulik, kui soovite oma makrosid käivitada, kui lehel toimub teatud sündmus.

Töövihikuüritused, kasutades Microsoft Excelis VBA -d | Töövihikuüritused töötavad kogu töövihiku kallal. Kuna kõik lehed on osa töövihikust, töötavad need sündmused ka nende kallal.

Vältige automacro/eventmacro käivitamist Microsoft Excelis VBA abil| Auto_open makro käivitamise vältimiseks kasutage tõstuklahvi.

Diagrammige objekti sündmused Microsoft Excelis VBA abil| Diagrammid on keerulised objektid ja neile on lisatud mitu komponenti. Diagrammi sündmuste tegemiseks kasutame klassi moodulit.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed muudavad teie töö Excelis veelgi kiiremaks.

Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave