Hướng dẫn cách viết code thêm dòng tổng cộng vào cuối báo cáo Excel VBA

Việc tự động hóa các báo cáo trong Excel giúp chúng ta có thể làm báo cáo nhanh hơn. Tuy nhiên làm thế nào để đảm bảo các báo cáo tự động được trình bày đúng thẩm mỹ? Cụ thể là sau mỗi lần cập nhật báo cáo, có thể nội dung trong báo cáo thay đổi dẫn tới vị trí dòng tổng cộng cũng thay đổi theo. Trong bài viết này, chúng ta cùng tìm hiểu cách viết code thêm dòng tổng cộng vào cuối báo cáo nhé.

Tự động cập nhật kết quả báo cáo với Advanced Filter và VBA

Đây là nội dung quan trọng nhất giúp chúng ta có được phần nội dung của báo cáo. Advanced Filter có tác dụng vừa lọc dữ liệu theo điều kiện, đồng thời trích xuất kết quả lọc được sang bảng tính khác (có thể tại Sheet khác).

Tải tài liệu mẫu để thực hành: http://bit.ly/2Wr6o4z

Ví dụ chúng ta có bảng dữ liệu tại Sheet ChiPhi

Từ bảng dữ liệu đó, chúng ta sẽ lọc và trích xuất kết quả sang Sheet ChiTiet  với dạng báo cáo như sau:

Khi đó ta có các thành phần để sử dụng Advanced Filter như sau:

  • List Range: Vùng bảo dữ liệu tại Sheet ChiPhi (bao gồm cả dòng tiêu đề)
  • Criteria Range: Vùng điều kiện. Vùng này chúng ta phải thay đổi cấu trúc để phù hợp với tiêu chí sử dụng của Advanced Filter: Vùng I6:K7

  • Copy to: Vùng kết quả cần trích xuất, là vùng A6:F6

 

Kết quả thu được là các nội dung chi tiết tương ứng theo điều kiện trích lọc, nhưng không có dòng tổng cộng

Để tự động hóa thao tác Advanced Filter, chúng ta có thể Record Macro cho thao tác sử dụng Advanced Filter. Các bạn có thể tham khảo thêm tại bài viết:

Hướng dẫn cách sử dụng chức năng Advanced Filter trong VBA

Thêm dòng tổng cộng vào cuối báo cáo bằng code VBA

Trước khi thêm dòng tổng cộng vào báo cáo, chúng ta cần lưu ý 1 số điều:

  • Nếu bảng dữ liệu gốc có định dạng thì khi trích xuất dữ liệu sang bảng khác, Advanced Filter sẽ mang theo định dạng đó.
  • Dòng tổng cộng luôn nằm ở cuối bảng báo cáo.

Vì vậy quy trình thực hiện sẽ bao gồm các bước:

  • Bước 1: Xóa hết dữ liệu và định dạng trong phần nội dung báo cáo trước đó
  • Bước 2: Thực hiện cập nhật báo cáo với Advanced Filter
  • Bước 3: Tìm dòng cuối của báo cáo
  • Bước 4: Thêm nội dung tổng cộng vào dòng trống bên dưới dòng cuối của báo cáo
  • Bước 5: Định dạng cho dòng tổng cộng

Dưới đây là đoạn Code VBA mẫu, các bạn có thể copy vào file để chạy thử (bấm nút View Raw bên dưới khung code rồi copy đoạn code):

Tải file kết quả tại địa chỉ: http://bit.ly/2F2Q3gB

Chúc các bạn ứng dụng thành công!


Tác giả: duongquan211287

· · ·

Khóa học mới xuất bản