Įterptųjų diagramų įvykiai naudojant „VBA“ programoje „Excel“

Turinys:

Anonim

Diagramos lapo įvykių (ypač diagramų darbalapio) naudojimas yra gana paprastas. Tačiau kai kalbama apie įvykių naudojimą įterptosiose diagramose, tai nėra taip paprasta. Bet aš jus patikinu, kad įvykius su įterptomis diagramomis nėra taip sunku suaktyvinti. Tai panašu į programų įvykių kūrimą. Taigi nedelsdami pradėkime.

Taigi, yra du veiksmai, kaip suaktyvinti įterptąjį diagramos įvykį. Pirmiausia sukurkite diagramos įvykių klasę ir nustatykite įvykius. Antra, sukuriamas tos įvykių klasės objektas. Viskas.

1 veiksmas: sukurkite diagramos įvykių klasę ir nustatykite įvykius

  • Įdėkite klasės modulį. Pavadink kaip nori. Pavadinau ją „ChartClass“.
  • Apibrėžkite diagramos tipo įvykių kintamąjį su raktiniu žodžiu WithEvents.
    Privati ​​su įvykiais CE įvykiai kaip diagrama
  • Inicijuokite šį įvykį paprogramėje class_initialize ().
    Išskleidžiamajame meniu kairėje pasirinkite klasę. Vėliau viršutiniame dešiniajame išskleidžiamajame meniu pasirinkite inicijuoti.

    Privati ​​antrinė klasė_Initializuoti () Nustatyti „CEvents“ = „ActiveSheet.ChartObjects“ (1). Diagramos pabaiga 

    Čia inicijuojame „CEvents“ diagramą su pirmąja tame lape sukurta diagrama. 1 yra aktyviojo lapo diagramos objektų rodyklės numeris.

  • Dabar nustatykite įvykius, kuriuos norite naudoti. Viršutiniame kairiajame išskleidžiamajame meniu pasirinkite objektą „CEvent“. Visas galimas įvykių tvarkymo procedūras galėsite pasiekti viršutiniame dešiniajame išskleidžiamajame meniu. Pasirinkite, ko jums reikia, ir apibrėžkite, ką norite daryti, kai tas įvykis suaktyvėja.
    Norėdami parodyti naudojimą, renkuosi įvykį „CEvents_Activate“. Pabandysiu parodyti vartotojui, kad diagramos įvykis yra suaktyvintas pranešimų laukelyje.

    Private Sub CEvents_Activate () MsgBox "Diagrama Įvykiai veikia" Pabaiga 

Mūsų darbas čia baigtas. Čia galite sukurti tiek įvykių, kiek norite iš diagramos tipo įvykių. Tačiau renginiai dar neveiks, nes tai tik klasė. Turime sukurti šios klasės objektą bet kuriame normaliame modulyje arba objekto modulyje. Tada paleiskite tą sub. Po to mūsų renginys pradės veikti.

2 veiksmas: sukurkite diagramos klasės objektą modulyje.

  • Įdėkite įprastą modulį.
  • Paskelbkite anksčiau sukurtos klasės kintamąjį.
    Dim mychart As ChartClass
  • Sukurkite antrinį elementą ir inicijuokite kintamąjį naudodami „ChartClass“ klasės objektą.
    Sub activChartEvent () Nustatykite mychart = New ChartClass End Sub

  • Paleiskite šį papildinį naudodami F5. Kai vykdysite šį kodą, diagramos įvykiai bus aktyvūs pirmoje diagramoje šiuo metu aktyviame lape, nes šią eilutę naudojome diagramos įvykių rinkinio inicijavimui CE įvykiai = ActiveSheet.ChartObjects (1). Diagrama

Ir tai daroma. Dabar, jei spustelėsite pirmąją diagramą šiuo metu aktyviame lape, ji parodys pranešimą, kad diagramos įvykiai veikia.

VBA programų įvykių įjungimas ir išjungimas

Paleidus makrokomandą įprastame modulyje, ji bus aktyvuojama visada, kol uždarysite darbaknygę, kurioje yra įvykiai. Bet galbūt norėsite juos įjungti ir išjungti savo nuožiūra. Yra du būdai tai padaryti.

  • Panaikinkite įvykio objektą
  • Nustatykite EnableEvents kaip False

1. Įvykio objekto panaikinimas

Atskiroje paprogramėje nustatykite įvykio objektą Nieko

Private Sub StopEvents () Set Mychart = Nothing End Sub

Kai paleisite šį kodą, įvykiai nustos veikti. Jei norite sustabdyti įvykius, galite įdėti jį į darbalapio mygtuką. Dabar turėsite du mygtukus pradėti ir sustabdyti šiuos konkrečius įvykius. Tai tiesiog sustabdys „AppE“ objekto sukurtus įvykius.

2. Nustatykite EnableEvents į False

Antrasis būdas yra išjungti įvykius. Kad visi įvykiai būtų nepasiekiami, mes nustatome „Application“ klasės ypatybę „EnableEvents“ įNetiesa.

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

Aukščiau pateiktas kodas išjungs visus įvykius. Net numatytieji „Excel“ įvykiai. Jie neveiks, kol vėl jų nepradėsite. Net jei vykdysite „StartEvents“ () paprogramę (aukščiau), įvykis neveiks. Kad visi įvykiai vėl veiktų, turėsite dar kartą nustatyti „EnableEvents“ ypatybę į „True“.

Taigi, jei norite, kad jūsų įvykiai veiktų kiekvieną kartą, kai pradedate įvykius, pridėkite šią kodo eilutę.

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

„Custome Chart“ įvykių pradžia kiekvieną kartą atidarius darbaknygę

Jei kuriate įrankį galutiniam vartotojui, galbūt norėsite, kad įvykiai veiktų automatiškai. Tokiu atveju įvykio paleidimo priemonę galite įdėti į darbaknygės objektą su „Workbook_open“ () įvykiu, o ne į įprastą modulį. Taip įvykio objektas bus inicijuotas, kai tik atidarysite darbaknygę, kurioje yra įvykiai.

Taigi taip, vaikinai, taip galite naudoti „Excel“ įterptąjį diagramos įvykį. Leiskite man žinoti, ar tai buvo pakankamai aiškinanti ir padėjo jums suprasti programos lygio įvykius „Excel VBA“. Užsirašykite savo mintis žemiau esančiame komentarų skyriuje. Jei turite ką pridurti, taip pat užsirašykite. Žemiau esančiame komentarų skyriuje galite užduoti savo klausimus, susijusius su šiuo straipsniu ar bet kuria kita su „VBA“ susijusia tema.

Atsisiųskite žemiau esantį darbo failą:

Įvykiai „Excel VBA“ |„Excel“ yra septynių tipų įvykiai. Kiekvienas renginys yra skirtingos apimties. Programos įvykis susijęs su darbaknygės lygiu. Darbo knyga lapų lygiu. Darbo lapo įvykis diapazono lygiu.

Užduoties įvykiai „Excel VBA“| Skaičiuoklės įvykis yra tikrai naudingas, kai norite, kad jūsų makrokomandos būtų paleistos, kai lape įvyksta nurodytas įvykis.

Darbaknygės įvykiai naudojant VBA „Microsoft Excel“ | Darbo knygos įvykiai veikia su visa darbo knyga. Kadangi visi lapai yra darbo knygos dalis, šie įvykiai taip pat tinka jiems.

Neleiskite automato/eventmacro vykdyti naudojant „Microsoft Excel“ VBA| Norėdami užkirsti kelią automatinio atidarymo makrokomandai, naudokite klavišą „Shift“.

Diagramuokite objekto įvykius naudodami VBA programoje „Microsoft Excel“| Diagramos yra sudėtingi objektai, prie kurių pridedate kelis komponentus. Norėdami sudaryti diagramos įvykius, naudojame klasės modulį.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų dar labiau pagreitins jūsų darbą naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.