Tự động cập nhật báo cáo khi thay đổi thời gian bằng VBA

Để 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.

Phần 2: Sự kiện Change

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