Evenimente grafice încorporate utilizând VBA în Excel

Utilizarea evenimentelor din foaia de diagrame (foaia de lucru în special pentru diagrame) este destul de simplă. Dar când vine vorba de utilizarea evenimentelor pe diagrame încorporate, nu este atât de simplu. Dar vă asigur că evenimentele cu diagrame încorporate nu sunt atât de dificil de activat. Este la fel ca crearea de evenimente de aplicație. Deci, fără mai multă întârziere, să începem.

Deci, există doi pași pentru a activa un eveniment grafic încorporat. În primul rând este crearea clasei de evenimente grafice și definirea evenimentelor. Al doilea este crearea unui obiect al acelei clase de evenimente. Asta e.

Pasul 1: Creați o clasă de evenimente în diagramă și definiți evenimente

  • Introduceți un modul de clasă. Denumiți-l după cum doriți. Am numit-o ChartClass.
  • Definiți o variabilă de eveniment de tip Chart cu cuvântul cheie WithEvents.
    Privat cu evenimente CE Evenimente ca diagramă
  • Inițializați acest eveniment în subrutina class_initialize ().
    Din meniul derulant din stânga, selectați clasa. Apoi, în meniul derulant din dreapta sus, selectați inițializare.

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

    Aici inițializăm graficul CEvents cu primul grafic creat pe foaia respectivă. 1 este numărul index al obiectelor grafice de pe foaia activă.

  • Acum definiți evenimentele pe care doriți să le utilizați. Din meniul derulant din stânga sus, selectați obiectul CEvent. Toate procedurile disponibile de gestionare a evenimentelor vă vor fi disponibile în meniul drop-down din dreapta sus. Selectați ce doriți și definiți ce doriți să faceți atunci când evenimentul se declanșează.
    Pentru a demonstra utilizarea, aleg CEvents_Activate Event. Voi încerca să îi arăt utilizatorului că evenimentul graficului este activat într-o casetă msg.

    Private Sub CEvents_Activate () MsgBox "Graficul Evenimente funcționează" End Sub 

Munca noastră aici este terminată. Aici puteți crea câte evenimente doriți din evenimentele disponibile pentru tipul de diagramă. Dar evenimentele nu vor funcționa încă, deoarece este doar o clasă. Trebuie să creăm obiectul acestei clase într-un sub în orice modul normal sau modulul obiect. Apoi rulați acel sub. După aceea, evenimentul nostru va începe să funcționeze.

Pasul 2: Creați obiectul clasei de diagrame în modul.

  • Introduceți un modul normal.
  • Declarați o variabilă a clasei pe care o creați înainte.
    Dim mychart Ca diagramă clasă
  • Creați un sub și inițializați variabila cu obiectul clasei ChartClass.
    Sub activateChartEvent () Set mychart = New ChartClass End Sub

  • Rulați acest sub folosind F5. Pe măsură ce veți rula acest cod, evenimentele grafice vor fi active pentru prima diagramă din foaia activă actuală, deoarece am folosit această linie pentru inițializarea setului de evenimente grafice CEvents = ActiveSheet.ChartObjects (1) .Chart.

Și s-a făcut. Acum, dacă faceți clic pe prima diagramă de pe foaia activă curentă, aceasta va afișa mesajul că evenimentele grafice funcționează.

Activarea și dezactivarea evenimentelor aplicației VBA

După ce rulați macrocomanda în modulul normal, aceasta se va declanșa întotdeauna până când închideți registrul de lucru care conține evenimentele. Dar este posibil să doriți să le porniți și să le opriți după voia dvs. Există două modalități de a face acest lucru.

  • Anulați obiectul evenimentului
  • Setați EnableEvents la False

1. Anularea obiectului evenimentului

Într-un subrutină separat, setați obiectul evenimentului la Nimic

Private Sub StopEvents () Set Mychart = Nothing End Sub

După ce rulați acest cod, evenimentele nu vor mai funcționa. O puteți pune într-un buton de pe foaia de lucru pentru a opri evenimentele. Acum veți avea două butoane pentru a începe și a opri aceste evenimente specifice. Va opri doar evenimentele create de obiectul AppE.

2. Setați EnableEvents la False

A doua metodă este dezactivarea evenimentelor. Pentru ca toate evenimentele să nu poată fi capturate, setăm proprietatea EnableEvents din clasa ApplicationFals.

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

Codul de mai sus va dezactiva toate evenimentele. Chiar și evenimentele Excel implicite. Nu vor funcționa până când nu le porniți din nou. Chiar dacă rulați subrutina StartEvents () (de mai sus), evenimentul nu va funcționa. Pentru ca toate evenimentele să funcționeze din nou, va trebui să setați proprietatea EnableEvents din nou la True.

Deci, dacă doriți ca evenimentele dvs. să funcționeze de fiecare dată când începeți evenimentele, adăugați această linie de cod în sub.

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

Lansarea evenimentelor Graficului Custome de fiecare dată când se deschide Cartea de lucru

Dacă dezvoltați un instrument pentru utilizatorul final, este posibil să doriți ca evenimentele să funcționeze automat. În acest caz, puteți pune starterul evenimentului în obiectul Workbook cu evenimentul Workbook_open (), în loc să fie într-un modul normal. Acest lucru va face obiectul evenimentului inițializat imediat ce deschideți registrul de lucru care conține evenimentele.

Deci, băieți, așa puteți folosi evenimentul grafic încorporat în Excel. Spuneți-mi dacă acest lucru a fost suficient de explicativ și v-a ajutat să înțelegeți evenimentele la nivel de aplicație în Excel VBA. Notează-ți gândurile în secțiunea de comentarii de mai jos. Dacă aveți ceva de adăugat, scrieți-l și pe acesta. Puteți întreba întrebările dvs. legate de acest articol sau orice alt subiect Excel VBA în secțiunea de comentarii de mai jos.

Descărcați fișierul de lucru de mai jos:

Evenimentele în Excel VBA |Există șapte tipuri de evenimente în Excel. Fiecare eveniment se ocupă în domenii diferite. Aplicația Eveniment se ocupă la nivel de registru de lucru. Caiet de lucru la nivel de foi. Foaie de lucru Eveniment la nivel Range.

Foaia de lucru Evenimente în Excel VBA| Evenimentul foii de lucru este foarte util atunci când doriți să ruleze macro-urile atunci când apare un eveniment specificat pe foaie.

Evenimente din registrul de lucru folosind VBA în Microsoft Excel | Evenimentele din registrul de lucru funcționează pe întregul registru de lucru. Deoarece toate foile fac parte din registrul de lucru, aceste evenimente funcționează și pe ele.

Preveniți executarea automacro / eventmacro utilizând VBA în Microsoft Excel| Pentru a preveni rularea macro-ului auto_open utilizați tasta Shift.

Diagrama evenimentelor obiectelor folosind VBA în Microsoft Excel| Diagramele sunt obiecte complexe și există mai multe componente pe care le-ați atașat la ele. Pentru realizarea evenimentelor grafice, folosim modulul Class.

Articole populare:

50 de comenzi rapide Excel pentru a vă crește productivitatea | Deveniți mai rapid la sarcina dvs. Aceste 50 de comenzi rapide vă vor face munca și mai rapidă pe Excel.

Funcția VLOOKUP în Excel | Aceasta este una dintre cele mai utilizate și populare funcții ale Excel, care este utilizată pentru a căuta valoarea din diferite intervale și foi.

COUNTIF în Excel 2016 | Numărați valorile cu condiții folosind această funcție uimitoare. Nu trebuie să vă filtrați datele pentru a număra o anumită valoare. Funcția Countif este esențială pentru a vă pregăti tabloul de bord.

Cum se utilizează funcția SUMIF în Excel | Aceasta este o altă funcție esențială a tabloului de bord. Acest lucru vă ajută să rezumați valori în condiții specifice.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave