Zdarzenia z wbudowanych wykresów przy użyciu VBA w programie Excel

Korzystanie ze zdarzeń w arkuszu wykresów (arkusz szczególnie dla wykresów) jest dość proste. Ale jeśli chodzi o wykorzystanie zdarzeń na wbudowanych wykresach, nie jest to takie proste. Ale zapewniam, że wydarzenia z osadzonymi wykresami nie są tak trudne do aktywowania. Przypomina to tworzenie zdarzeń aplikacji. Więc bez dalszej zwłoki zacznijmy.

Tak więc są dwa kroki, aby aktywować osadzone zdarzenie wykresu. Pierwszym z nich jest utworzenie klasy zdarzeń wykresu i zdefiniowanie zdarzeń. Drugim jest stworzenie obiektu tej klasy zdarzenia. Otóż ​​to.

Krok 1: Utwórz klasę zdarzeń wykresu i zdefiniuj zdarzenia

  • Wstaw moduł zajęć. Nazwij to, jak chcesz. Nazwałem go ChartClass.
  • Zdefiniuj zmienną zdarzenia typu Wykres za pomocą słowa kluczowego WithEvents.
    Prywatne WithEvents CEvents As Chart
  • Zainicjuj to zdarzenie w podprogramie class_initialize().
    Z menu po lewej wybierz klasę. Następnie w prawym górnym menu rozwijanym wybierz inicjalizuj.

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

    Tutaj inicjujemy wykres CEvents z pierwszym wykresem utworzonym na tym arkuszu. 1 to liczba indeksów obiektów wykresu w aktywnym arkuszu.

  • Teraz zdefiniuj zdarzenia, których chcesz użyć. Z lewego górnego menu rozwijanego wybierz obiekt CEvent. Wszystkie dostępne procedury obsługi zdarzeń będą dostępne w menu rozwijanym w prawym górnym rogu. Wybierz to, czego potrzebujesz i zdefiniuj, co chcesz zrobić, gdy to zdarzenie zostanie wyzwolone.
    Aby zademonstrować użycie, wybieram zdarzenie CEvents_Activate. Postaram się pokazać użytkownikowi, że zdarzenie wykresu jest aktywowane w polu msg.

    Private Sub CEvents_Activate() MsgBox "Wykres Zdarzenia działają" End Sub 

Nasza praca tutaj jest skończona. Tutaj możesz utworzyć dowolną liczbę wydarzeń z dostępnych wydarzeń dla typu wykresu. Ale wydarzenia jeszcze nie zadziałają, bo to tylko zajęcia. Musimy utworzyć obiekt tej klasy w sub w dowolnym normalnym module lub module obiektu. Następnie uruchom ten okręt podwodny. Potem nasza impreza zacznie działać.

Krok 2: Utwórz obiekt klasy wykresu w module.

  • Włóż normalny moduł.
  • Zadeklaruj zmienną klasy, którą utworzyłeś wcześniej.
    Przyciemnij mój wykres jako ChartClass
  • Utwórz sub i zainicjuj zmienną z obiektem klasy ChartClass.
    Sub ActivateChartEvent() Ustaw mychart = New ChartClass End Sub

  • Uruchom tę sub za pomocą F5. Gdy uruchomisz ten kod, zdarzenia wykresu będą aktywne dla pierwszego wykresu w aktualnie aktywnym arkuszu, ponieważ użyliśmy tej linii do inicjalizacji zestawu zdarzeń wykresu CEvents = ActiveSheet.ChartObjects(1).Chart.

I gotowe. Teraz, jeśli klikniesz pierwszy wykres w aktualnie aktywnym arkuszu, wyświetli się komunikat, że zdarzenia wykresu działają.

Włączanie i wyłączanie zdarzeń aplikacji VBA

Po uruchomieniu makra w normalnym module będzie ono wyzwalane zawsze, dopóki nie zamkniesz skoroszytu zawierającego zdarzenia. Ale możesz chcieć je włączać i wyłączać według własnej woli. Można to zrobić na dwa sposoby.

  • Unieważnij obiekt zdarzenia
  • Ustaw EnableEvents na False

1. Unieważnienie obiektu zdarzenia

W osobnym podprogramie ustaw obiekt zdarzenia na Nothing

Private Sub StopEvents() Ustaw Mychart= Nic Koniec Sub

Po uruchomieniu tego kodu zdarzenia przestaną działać. Możesz umieścić go w przycisku w arkuszu, aby zatrzymać zdarzenia. Teraz będziesz mieć dwa przyciski do uruchamiania i zatrzymywania tych konkretnych zdarzeń. Po prostu zatrzyma zdarzenia utworzone przez obiekt AppE.

2. Ustaw EnableEvents na False

Drugą metodą jest wyłączenie zdarzeń. Aby wszystkie zdarzenia były niemożliwe do wyłapania, ustawiamy właściwość EnableEvents klasy Application naFałszywe.

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

Powyższy kod wyłączy wszystkie zdarzenia. Nawet domyślne wydarzenia w programie Excel. Nie będą działać, dopóki nie uruchomisz ich ponownie. Nawet jeśli uruchomisz podprogram StartEvents() (powyżej), zdarzenie nie zadziała. Aby wszystkie zdarzenia działały ponownie, musisz ponownie ustawić właściwość EnableEvents na True.

Jeśli więc chcesz, aby Twoje wydarzenia działały za każdym razem, gdy je uruchamiasz, dodaj ten wiersz kodu w sub.

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

Rozpoczynanie zdarzeń wykresu niestandardowego za każdym razem, gdy otwiera się skoroszyt

Jeśli tworzysz narzędzie dla użytkownika końcowego, możesz chcieć, aby zdarzenia działały automatycznie. W takim przypadku możesz umieścić starter zdarzenia w obiekcie Workbook za pomocą zdarzenia Workbook_open() zamiast w normalnym module. Spowoduje to zainicjowanie obiektu zdarzenia zaraz po otwarciu skoroszytu zawierającego zdarzenia.

Więc tak, w ten sposób możesz użyć wbudowanego zdarzenia wykresu w programie Excel. Daj mi znać, czy było to wystarczająco wyjaśnione i pomogło ci zrozumieć zdarzenia na poziomie aplikacji w Excel VBA. Zapisz swoje przemyślenia w sekcji komentarzy poniżej. Jeśli masz coś do dodania, zapisz to też. Możesz zadać pytania związane z tym artykułem lub dowolnym innym tematem związanym z programem Excel VBA w sekcji komentarzy poniżej.

Pobierz plik roboczy poniżej:

Zdarzenia w Excel VBA |W programie Excel istnieje siedem typów zdarzeń. Każde wydarzenie dotyczy innego zakresu. Zdarzenie aplikacji dotyczy na poziomie skoroszytu. Skoroszyt na poziomie arkuszy. Zdarzenie arkusza roboczego na poziomie zakresu.

Zdarzenia arkusza roboczego w Excel VBA|Zdarzenia arkusza roboczego są naprawdę przydatne, gdy chcesz, aby makra były uruchamiane po wystąpieniu określonego zdarzenia w arkuszu.

Zdarzenia ze skoroszytu przy użyciu VBA w programie Microsoft Excel | Zdarzenia skoroszytu działają na całym skoroszycie. Ponieważ wszystkie arkusze są częścią skoroszytu, te zdarzenia również na nich działają.

Zapobiegaj wykonywaniu automakro/makro zdarzeń za pomocą VBA w programie Microsoft Excel| Aby zapobiec uruchomieniu makra auto_open użyj klawisza Shift.

Zdarzenia obiektów wykresu przy użyciu VBA w programie Microsoft Excel| Wykresy są złożonymi obiektami i dołączasz do nich kilka komponentów. Do tworzenia zdarzeń wykresu używamy modułu Class.

Popularne artykuły:

50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.

Funkcja WYSZUKAJ.PIONOWO w programie Excel | Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.

LICZ.JEŻELI w Excelu 2016 | Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.

Jak korzystać z funkcji SUMIF w programie Excel? | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave