Để có thể tự động chạy Macro khi có sự thay đổi trong Sheet, chúng ta cần tìm hiểu về cách thiết lập sự kiện: Worksheet Change Event trong VBA. Với kỹ thuật này chúng ta có thể kiểm soát các câu lệnh VBA để có thể tự động sử dụng khi chúng ta thực hiện một thao tác nào đó trong Sheet, ví dụ như: Tự động cập nhật báo cáo khi thay đổi thời gian của báo cáo, tự động cập nhật nội dung khi Thay đổi dữ liệu tại 1 vị trí… Đây là một kỹ thuật rất hữu ích giúp chúng ta tự động hóa quy trình làm việc của Excel.
Tác dụng: Khi có sự thay đổi dữ liệu trong sheet thì sẽ thực hiện câu lệnh trong VBA
Cách làm:
Bước 1: Double Click để chọn Sheet cần áp dụng sự kiện
Bước 2: Chọn mục WorkSheet
Bước 3: Chọn sự kiện trong Worksheet là Change
Sau đây chúng ta cùng tìm hiểu cách ứng dụng sự kiện này trong việc tự động cập nhật báo cáo khi thay đổi thời gian
Dựa vào dữ liệu ở bảng A1:F30, lập bảng báo cáo chi tiết theo thời gian và nhà cung cấp
Cách làm như sau:
Bước 1: Tạo Sub để thực hiện việc lấy dữ liệu vào báo cáo chi tiết
Bước 2: Gán Sub trên vào sự kiện Change trong Sheet1
Dòng lệnh:
If Not Application.Intersect(Range(“I2:I4”), Range(Target.Address)) Is Nothing Then
được hiểu là: Nếu có sự thay đổi dữ liệu trong vùng từ I2:I4 thì…
=> Khi đó sẽ gọi ra lệnh cập nhật báo cáo chi tiết chính là Macro mà chúng ta đã tạo ở bước 1
Call BCCT_Update
Kết quả: Khi thay đổi bất kỳ dữ kiện thời gian hoặc Nhà cung cấp thì báo cáo chi tiết sẽ tự động được cập nhật.
Tải về file mẫu: http://bit.ly/2F1AD9W
Bài tham khảo: Ứng dụng VBA lập báo cáo chi tiết tự động
Chúc các bạn học tốt cùng Học Excel Online