Vì vậy, có hai bước để kích hoạt một sự kiện biểu đồ nhúng. Đầu tiên là tạo lớp sự kiện biểu đồ và xác định sự kiện. Thứ hai là tạo một đối tượng của lớp sự kiện đó. Đó là nó.

Bước 1: Tạo lớp sự kiện biểu đồ và xác định sự kiện

  • Chèn một liên kết: / modules-class-modules-in-vba-vba-class-module-and-how-to-use-them [class module]. Đặt tên nó như bạn muốn. Tôi đặt tên nó là ChartClass.

  • Xác định một biến sự kiện của loại Biểu đồ với từ khóa WithEvents.

Private WithEvents CEvents As Chart
  • Khởi tạo sự kiện này trong chương trình con class_initialize ().

Từ menu thả xuống bên trái, hãy chọn lớp. Sau đó, trên menu thả xuống trên cùng bên phải, hãy chọn khởi tạo.

Private Sub Class_Initialize()

Set CEvents = ActiveSheet.ChartObjects(1).Chart

End Sub

Ở đây chúng tôi đang khởi tạo Biểu đồ CEvents với biểu đồ đầu tiên được tạo trên trang tính đó. Số 1 là số chỉ mục của các đối tượng biểu đồ trên trang tính hiện hoạt.

  • Bây giờ xác định các sự kiện bạn muốn sử dụng. Từ menu thả xuống trên cùng bên trái, chọn đối tượng CEvent. Tất cả các quy trình xử lý sự kiện có sẵn sẽ có sẵn cho bạn trong menu thả xuống trên cùng bên phải. Chọn bất kỳ điều gì bạn yêu cầu và xác định những gì bạn muốn làm khi sự kiện đó kích hoạt.

Để chứng minh việc sử dụng, tôi chọn Sự kiện CEvents_Activate. Tôi sẽ cố gắng cho người dùng thấy rằng sự kiện biểu đồ được kích hoạt trong hộp tin nhắn.

Private Sub CEvents_Activate()

MsgBox "The chart Events are working"

End Sub

Công việc của chúng tôi ở đây đã xong. Bạn có thể tạo bao nhiêu sự kiện bạn muốn từ các sự kiện có sẵn cho loại biểu đồ tại đây. Nhưng các sự kiện sẽ không hoạt động vì nó chỉ là một lớp học. Chúng ta cần tạo đối tượng của lớp này trong một con trong bất kỳ mô-đun bình thường hoặc mô-đun đối tượng nào. Sau đó chạy sub đó.

Sau đó sự kiện của chúng tôi sẽ bắt đầu hoạt động.

image

Bước 2: Tạo Đối tượng Lớp Biểu đồ trong Mô-đun.

  • Chèn một mô-đun bình thường.

  • Khai báo một biến của lớp bạn tạo trước đó.

Dim mychart As ChartClass
  • Tạo một sub và khởi tạo biến bằng đối tượng của lớp ChartClass.

Sub activateChartEvent()

Set mychart = New ChartClass

End Sub

image

Chạy phụ này bằng cách sử dụng F5. Khi bạn chạy mã này, các sự kiện biểu đồ sẽ hoạt động cho biểu đồ đầu tiên trên trang hiện đang hoạt động vì chúng tôi đã sử dụng dòng này để khởi tạo biểu đồ eventSet CEvents = ActiveSheet.ChartObjects (1) .Chart. * Và nó đã hoàn tất. Bây giờ nếu bạn nhấp vào biểu đồ đầu tiên trên trang tính hiện đang hoạt động, nó sẽ hiển thị thông báo Sự kiện biểu đồ đang hoạt động.

Bật và Tắt Sự kiện Ứng dụng VBA Khi bạn chạy macro trong mô-đun bình thường, nó sẽ luôn kích hoạt cho đến khi bạn đóng sổ làm việc có chứa các sự kiện. Nhưng bạn có thể muốn bật và tắt chúng theo ý muốn. Có hai cách để làm điều này.

Hủy bỏ tập hợp đối tượng sự kiện Cho phép thông báo sai

1. Vô hiệu hóa đối tượng sự kiện

Trong một chương trình con riêng biệt, hãy đặt đối tượng sự kiện thành Nothing

Private Sub StopEvents()

Set Mychart= Nothing

End Sub

Khi bạn chạy mã này, các sự kiện sẽ ngừng hoạt động. Bạn có thể đặt nó vào một nút trên trang tính để dừng các sự kiện. Bây giờ bạn sẽ có hai nút để bắt đầu và dừng các sự kiện cụ thể này. Nó sẽ chỉ dừng các sự kiện được tạo bởi đối tượng AppE.

2. Đặt EnableEvents thành False

Phương pháp thứ hai là vô hiệu hóa các sự kiện. Để làm cho tất cả các sự kiện không thể truy cập được, chúng tôi đặt thuộc tính EnableEvents của lớp Ứng dụng thànhFalse.

Private Sub StopEvents()

Application.EnableEvents= False

End Sub

Đoạn mã trên sẽ vô hiệu hóa tất cả các sự kiện. Ngay cả các sự kiện excel mặc định. Chúng sẽ không hoạt động cho đến khi bạn bắt đầu lại chúng. Ngay cả khi bạn chạy chương trình con StartEvents () (ở trên), sự kiện sẽ không hoạt động. Để làm cho tất cả các sự kiện hoạt động trở lại, bạn sẽ phải đặt lại thuộc tính EnableEvents thành True.

Vì vậy, nếu bạn muốn các sự kiện của mình hoạt động mỗi khi bạn bắt đầu các sự kiện, hãy thêm dòng mã này vào phần phụ.

Private Sub StartEvents()

Application.EnableEvents = True

Set mychart = New ChartClass

End Sub

Bắt đầu các Sự kiện Biểu đồ Khách hàng mỗi khi Sổ làm việc Mở Nếu bạn đang phát triển một công cụ cho người dùng cuối, bạn có thể muốn các sự kiện hoạt động tự động. Trong trường hợp đó, bạn có thể đặt trình khởi động sự kiện trong liên kết: / events-in-vba-workbook-events-using-vba-in-microsoft-excel [Đối tượng Workbook] với sự kiện Workbook_open (), thay vì trong một mô-đun bình thường. Điều này sẽ làm cho đối tượng sự kiện của bạn được khởi tạo ngay khi bạn mở sổ làm việc có chứa các sự kiện.

image

Vì vậy, các bạn, đây là cách bạn có thể sử dụng sự kiện biểu đồ nhúng trong excel.

Hãy cho tôi biết nếu điều này đã đủ giải thích và giúp bạn hiểu Sự kiện cấp ứng dụng trong Excel VBA. Viết ra suy nghĩ của bạn trong phần bình luận bên dưới. Nếu bạn có điều gì đó để thêm vào điều này, hãy viết luôn điều đó. Bạn có thể đặt câu hỏi của mình liên quan đến bài viết này hoặc bất kỳ chủ đề nào khác liên quan đến VBA excel trong phần bình luận bên dưới.

Tải xuống tệp làm việc bên dưới:

image 48

Bài viết liên quan:

Bài viết phổ biến:

Chức năng Countif là cần thiết để chuẩn bị bảng điều khiển của bạn.