Sự kiện trong Excel

Thuật ngữ "Sự kiện Excel»Được sử dụng để chỉ một số hành động được thực hiện bởi người dùng trong Excel. Ví dụ, khi người dùng chuyển đổi một trang tính, đây là một sự kiện. Nhập dữ liệu vào một ô hoặc lưu một sổ làm việc cũng là các sự kiện Excel.

Sự kiện có thể được liên kết với trang tính Excel, biểu đồ, sổ làm việc hoặc trực tiếp với chính ứng dụng Excel. Lập trình viên có thể tạo mã VBA sẽ được thực thi tự động khi một sự kiện xảy ra.

Ví dụ: để chạy macro mỗi khi người dùng chuyển trang tính trong sổ làm việc Excel, bạn sẽ tạo mã VBA sẽ chạy mỗi khi sự kiện xảy ra Trang tínhKích hoạt sách bài tập.

Và nếu bạn muốn macro chạy mỗi khi bạn chuyển đến một trang tính cụ thể (ví dụ: Sheet1), thì mã VBA phải được liên kết với sự kiện Kích hoạt cho trang tính này.

Mã VBA nhằm xử lý các sự kiện Excel phải được đặt trong trang tính hoặc đối tượng sổ làm việc thích hợp trong cửa sổ trình chỉnh sửa VBA (có thể mở trình chỉnh sửa bằng cách nhấp vào Alt + F11). Ví dụ: mã sẽ được thực thi mỗi khi một sự kiện nhất định xảy ra ở cấp trang tính nên được đặt trong cửa sổ mã cho trang tính đó. Điều này được thể hiện trong hình:

Trong trình soạn thảo Visual Basic, bạn có thể xem tập hợp tất cả các sự kiện Excel có sẵn ở cấp sổ làm việc, trang tính hoặc biểu đồ. Mở cửa sổ mã cho đối tượng đã chọn và chọn loại đối tượng từ menu thả xuống bên trái ở đầu cửa sổ. Menu thả xuống bên phải ở đầu cửa sổ sẽ hiển thị các sự kiện được xác định cho đối tượng này. Hình dưới đây cho thấy danh sách các sự kiện được liên kết với một trang tính Excel:

Sự kiện trong Excel

Nhấp vào sự kiện mong muốn trong trình đơn thả xuống bên phải và một quy trình sẽ được tự động chèn vào cửa sổ mã cho đối tượng này Sub. ở đầu thủ tục Sub Excel sẽ tự động chèn các đối số bắt buộc (nếu có). Tất cả những gì còn lại là thêm mã VBA để xác định những hành động mà thủ tục sẽ thực hiện khi sự kiện mong muốn được phát hiện.

Ví dụ

Trong ví dụ sau, mỗi khi một ô được chọn B1 trên trang tính Sheet1 một hộp thông báo xuất hiện.

Để thực hiện hành động này, chúng ta cần sử dụng sự kiện trang tính Lựa chọn_Thay đổi, xảy ra mỗi khi việc lựa chọn ô hoặc phạm vi ô thay đổi. Hàm số Lựa chọn_Thay đổi nhận như một đối số Mục tiêu vật -. Đây là cách chúng tôi biết phạm vi ô nào đã được chọn.

Sự kiện Lựa chọn_Thay đổi xảy ra với bất kỳ lựa chọn mới nào. Nhưng chúng ta cần tập hợp các hành động chỉ được thực thi khi ô được chọn B1. Để làm điều này, chúng tôi sẽ chỉ theo dõi sự kiện trong phạm vi được chỉ định Mục tiêu. Cách nó được triển khai trong mã chương trình được hiển thị bên dưới:

'Mã hiển thị hộp thông báo khi ô B1 được chọn' trên trang tính hiện tại. Private Sub Worksheet_SelectionChange (ByVal Target As Range) 'Kiểm tra xem ô B1 có được chọn không Nếu Target.Count = 1 Và Target.Row = 1 Và Target.Column = 2 Sau đó' Nếu ô B1 được chọn, thì hãy thực hiện MsgBox sau "Bạn có đã chọn một ô B1 "End If End Sub

Bình luận