Iegultās diagrammas notikumi, izmantojot programmu VBA programmā Excel

Satura rādītājs:

Anonim

Diagrammas lapu notikumu (īpaši diagrammu darblapa) izmantošana ir diezgan vienkārša. Bet, kad runa ir par notikumu izmantošanu iegultās diagrammās, tas nav tik vienkārši. Bet es jums apliecinu, ka notikumus ar iegultām diagrammām nav tik grūti aktivizēt. Tas ir līdzīgi kā lietojumprogrammu notikumu veidošana. Tāpēc bez turpmākas kavēšanās sāksim darbu.

Tātad, ir divi soļi, lai aktivizētu iegulto diagrammas notikumu. Pirmkārt, tiek izveidota diagrammas notikumu klase un definēti notikumi. Otrais ir šīs notikumu klases objekta izveidošana. Tieši tā.

1. darbība: izveidojiet diagrammas notikumu klasi un definējiet notikumus

  • Ievietojiet klases moduli. Nosauciet to, kā vēlaties. Es to nosaucu par ChartClass.
  • Definējiet diagrammas tipa notikumu mainīgo ar atslēgvārdu WithEvents.
    Privāts ar notikumiem CE notikumi kā diagramma
  • Inicializējiet šo notikumu apakšprogrammā class_initialize ().
    Nolaižamajā izvēlnē kreisajā pusē atlasiet klasi. Pēc tam augšējā labajā nolaižamajā izvēlnē atlasiet inicializēt.

    Privāta apakšklase_Initializēt () Iestatīt CEvents = ActiveSheet.ChartObjects (1). Diagrammas beigu apakšpozīcija 

    Šeit mēs inicializējam CEvents diagrammu ar pirmo diagrammu, kas izveidota šajā lapā. 1 ir diagrammas objektu indeksa numurs aktīvajā lapā.

  • Tagad definējiet notikumus, kurus vēlaties izmantot. Nolaižamajā augšējā kreisajā izvēlnē atlasiet objektu CEvent. Visas pieejamās notikumu apstrādes procedūras jums būs pieejamas augšējā labajā nolaižamajā izvēlnē. Atlasiet vajadzīgo un definējiet, ko vēlaties darīt, aktivizējot šo notikumu.
    Lai demonstrētu izmantošanu, es izvēlos notikumu CEvents_Activate. Es mēģināšu lietotājam parādīt, ka diagrammas notikums ir aktivizēts ziņojuma lodziņā.

    Private Sub CEvents_Activate () MsgBox "Diagramma Notikumi darbojas" Beigu apakš 

Mūsu darbs šeit ir pabeigts. Jūs varat izveidot tik daudz notikumu, cik vēlaties no šeit pieejamajiem diagrammas tipa notikumiem. Bet notikumi vēl nedarbosies, jo tā ir tikai klase. Mums ir jāizveido šīs klases objekts apakšgrupā jebkurā normālā modulī vai objekta modulī. Pēc tam palaidiet šo apakšnodaļu. Pēc tam mūsu pasākums sāks darboties.

2. darbība: izveidojiet diagrammas klases objektu modulī.

  • Ievietojiet parasto moduli.
  • Deklarējiet iepriekš izveidotās klases mainīgo.
    Dim mychart Kā ChartClass
  • Izveidojiet apakšdaļu un inicializējiet mainīgo ar klases ChartClass objektu.
    Sub activChartEvent () Set mychart = New ChartClass End Sub

  • Palaidiet šo apakšfunkciju, izmantojot F5. Izpildot šo kodu, diagrammas notikumi būs aktīvi pirmajai diagrammai pašlaik aktīvajā lapā, jo mēs izmantojām šo rindu diagrammas notikumu kopas inicializēšanai CE notikumi = ActiveSheet.ChartObjects (1). Diagramma.

Un tas tiek darīts. Tagad, noklikšķinot uz pašreizējās aktīvās lapas pirmās diagrammas, tas parādīs ziņojumu, ka diagrammas notikumi darbojas.

VBA lietojumprogrammu notikumu ieslēgšana un izslēgšana

Pēc makro palaišanas parastajā modulī tas tiks aktivizēts vienmēr, līdz aizverat darbgrāmatu, kurā ir notikumi. Bet jūs varat tos ieslēgt un izslēgt pēc savas vēlēšanās. Ir divi veidi, kā to izdarīt.

  • Anulējiet notikuma objektu
  • Iestatiet EnableEvents uz False

1. Notikuma objekta anulēšana

Atsevišķā apakšprogrammā iestatiet notikuma objektu uz neko

Private Sub StopEvents () Set Mychart = Nothing End Sub

Pēc šī koda palaišanas notikumi pārstās darboties. Lai apturētu notikumus, varat to ievietot darblapas pogā. Tagad jums būs divas pogas, lai sāktu un apturētu šos konkrētos notikumus. Tas vienkārši apturēs AppE objekta izveidotos notikumus.

2. Iestatiet EnableEvents uz False

Otra metode ir notikumu atspējošana. Lai padarītu visus notikumus nepieejamus, mēs iestatījām lietojumprogrammas klases rekvizītu EnableEvents uzNepatiess.

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

Iepriekš minētais kods atspējos visus notikumus. Pat noklusējuma Excel notikumi. Tie nedarbosies, kamēr jūs tos atkal nesāksit. Pat ja jūs izpildāt StartEvents () apakšprogrammu (iepriekš), pasākums nedarbosies. Lai visi notikumi atkal darbotos, jums vēlreiz jāiestata rekvizīts EnableEvents uz True.

Tātad, ja vēlaties, lai jūsu pasākumi darbotos katru reizi, kad sākat pasākumus, pievienojiet šo koda rindu apakšnodaļai.

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

Custome Chart notikumu sākšana katru reizi, kad tiek atvērta darbgrāmata

Ja izstrādājat rīku galalietotājam, iespējams, vēlēsities, lai notikumi darbotos automātiski. Tādā gadījumā notikuma starteri varat ievietot darbgrāmatas objektā ar notikumu Workbook_open (), nevis parastajā modulī. Tādējādi jūsu notikuma objekts tiks inicializēts, tiklīdz atverat darbgrāmatu, kurā ir notikumi.

Jā, puiši, šādā veidā jūs varat izmantot iegulto diagrammas notikumu programmā Excel. Ļaujiet man zināt, vai tas bija pietiekami izskaidrojošs un palīdzēja jums saprast lietojumprogrammas līmeņa notikumus programmā Excel VBA. Pierakstiet savas domas komentāru sadaļā zemāk. Ja jums ir kaut kas piebilstams, pierakstiet arī to. Zemāk komentāru sadaļā varat uzdot savus jautājumus, kas saistīti ar šo rakstu vai jebkuru citu ar excel VBA saistītu tēmu.

Lejupielādējiet zemāk esošo darba failu:

Notikumi programmā Excel VBA |Programmā Excel ir septiņi notikumu veidi. Katrs pasākums ir atšķirīgs. Lietojumprogrammas notikums attiecas uz darbgrāmatas līmeni. Darbgrāmata lapu līmenī. Darblapas notikums diapazona līmenī.

Darblapas notikumi programmā Excel VBA| Darblapas notikums ir patiešām noderīgs, ja vēlaties palaist savus makro, kad lapā notiek noteikts notikums.

Darbgrāmatas notikumi, izmantojot VBA programmā Microsoft Excel | Darbgrāmatas pasākumi darbojas ar visu darbgrāmatu. Tā kā visas lapas ir daļa no darbgrāmatas, šie notikumi darbojas arī pie tām.

Neļaujiet automātam/eventmacro izpildīt, izmantojot Microsoft Excel VBA| Lai novērstu auto_open makro darbību, izmantojiet taustiņu Shift.

Diagrammējiet objektu notikumus, izmantojot VBA programmā Microsoft Excel| Diagrammas ir sarežģīti objekti, un tiem ir pievienotas vairākas sastāvdaļas. Lai izveidotu notikumus diagrammā, mēs izmantojam klases moduli.

Populāri raksti:

50 Excel saīsnes, lai palielinātu produktivitāti | Ātrāk izpildiet savu uzdevumu. Šie 50 saīsnes padarīs jūsu darbu vēl ātrāku programmā Excel.

Funkcija VLOOKUP programmā Excel | Šī ir viena no visbiežāk izmantotajām un populārākajām Excel funkcijām, kas tiek izmantota, lai meklētu vērtību no dažādiem diapazoniem un lapām.

COUNTIF programmā Excel 2016 | Saskaitiet vērtības ar nosacījumiem, izmantojot šo apbrīnojamo funkciju. Jums nav jāfiltrē dati, lai uzskaitītu noteiktu vērtību. Skaitītāja funkcija ir būtiska, lai sagatavotu informācijas paneli.

Kā lietot SUMIF funkciju programmā Excel | Šī ir vēl viena būtiska informācijas paneļa funkcija. Tas palīdz apkopot vērtības noteiktos apstākļos.