Bạn thường phải làm báo cáo tổng hợp trên Excel? Làm thế nào để báo cáo tự động cập nhật số liệu mỗi khi bạn thay đổi thời gian báo cáo? Chắc hẳn bạn sẽ rất vui khi biết rằng VBA sẽ giúp bạn thực hiện điều đó một cách rất dễ dàng. Chúng ta cùng tìm hiểu cách làm nhé:
Đề bài: Cho bảng dữ liệu
Yêu cầu: Lập báo cáo tổng hợp có thể tự động cập nhật khi thay đổi thời gian của báo cáo
Dù đã có phần mềm, nhưng kỹ năng Excel vẫn cực kỳ quan trọng với kế toán, bạn đã vững Excel chưa? Hãy để tôi giúp bạn, đăng ký khoá học Excel:
Bước 1: Đặt tên cho các cột dữ liệu trong bảng Data để sử dụng trong công thức cho dễ thực hiện hơn
Mở tab Formulas => Chọn Define Name và đặt tên cho cột Ngày của Sheet Data. Lưu ý giới hạn của vùng dữ liệu trong cộtLàm tương tự cho các cột khác. Lưu ý độ rộng của các vùng Tên trong cùng 1 bảng phải bằng nhau
Bước 2: Sử dụng công thức Excel để tính dữ liệu vào bảng Báo cáo tổng hợp
Mỗi đối tượng trong Báo cáo tổng hợp được tính dựa theo các điều kiện:
Nội dung cần tính: Số lượng / Đơn giá / Thành tiền. Xét trên nội dung Số lượng trước, các nội dung khác có thể làm tương tựThời gian giới hạn điểm đầu: >= Từ ngàyThời gian giới hạn điểm cuối: Mã hàng hóa cần tính: dựa theo mỗi mã hàng trong báo cáo.
Đang xem: Tạo báo cáo trong excel
Như vậy chúng ta sử dụng hàm SUMIFS để có thể tính tổng theo nhiều điều kiện.
Cấu trúc của hàm SUMIFS cho yêu cầu tính Số lượng:
Vùng cần tính tổng = Data_Cot_SoLuongVùng điều kiện thứ 1 = Data_Cot_TenHangĐiều kiện thứ 1 trong vùng điều kiện thứ 1 = Hàng A (ô A5)Vùng điều kiện thứ 2 = Data_Cot_NgayĐiều kiện thứ 2 trong vùng điều kiện thứ 2 là >= Từ ngày, vì dấu >= là dấu toán tử nên phải đặt trong dấu nháy képVùng điều kiện thứ 3 = Data_Cot_NgayĐiều kiện thứ 2 trong vùng điều kiện thứ 3 là
Tương tự như vậy với yêu cầu tính Thành tiền, chúng ta chỉ cần thay Vùng cần tính tổng trong hàm SUMIFS thành Data_Cot_ThanhTien
Với yêu cầu tính đơn giá, chúng ta tính bằng cách lấy Thành tiền / Số lượng
Nếu Số lượng = 0 thì Đơn giá sẽ = 0 (vì mẫu số của phép chia = 0 thì sẽ có lỗi, nên cần biện luận trường hợp này trước khi thực hiện phép chia
C5 = IF(B5=0,0,D5/B5)
=> Filldown toàn bộ công thức ở các cột B, C, D từ hàng 5 xuống hàng 11 cho các Hàng hóa tiếp theo
Bước 3: Lọc dữ liệu trong báo cáo
Tại cột E, sử dụng công thức lọc bỏ những nội dung có phát sinh = 0 (hoặc không phát sinh) như sau:
E5 = IF(SUM(B5:D5)=0,””,”x”)
Filldown công thức từ E5 xuống E11
Đừng bỏ lỡ: lớp học word excel ở Hà Nội
Bước 4: Thiết lập tự động cập nhật báo cáo trong VBA
Record Macro cho thao tác Lọc dữ liệu – Lọc bỏ dòng trống
Mở cửa sổ VBA (Alt + F11), thiết lập sự kiện Change trong sheet BCTH: thay đổi dữ liệu ở ô B2 hoặc ô B3
If Not Application.Intersect(Range(“B2:B3”), Range(Target.Address)) Is Nothing Then
…
End if
Dòng code này được hiểu là: Nếu có sự thay đổi dữ liệu ở vùng B2:B3 thì…
ActiveSheet.Range(“$E$4:$E$11″).AutoFilter Field:=1, Criteria1:=””
Dòng code này có được từ việc Record Macro ở trên, được hiểu là lọc bỏ giá trị dòng trống (blanks) ở cột Lọc (cột E, áp dụng từ dòng 4 đến dòng 11)
Như vậy chúng ta đã hoàn thành công việc lập báo cáo tự động cập nhật khi thay đổi thời gian báo cáo.
Xem thêm: Khai Thác Các Ứng Dụng Của Plc Trong Đồ Án Plc, (Doc) Đồ Án Plc
Những nội dung học được qua bài này là:
Cách gán tên cho vùng dữ liệu, sử dụng tên trong công thức để lập công thức tốt hơnCách lập công thức tổng hợp kết quả theo nhiều điều kiện trong báo cáo tổng hợp (SUMIFS)Cách lọc bỏ dữ liệu không cần thiết trong Báo cáo tổng hợpCách record macro để lấy code nhanh trong excel vbaCách đọc hiểu và viết code trong VBATrình tự logic của việc lập báo cáo tổng hợp
Bạn thấy đó, để nắm vững kỹ thuật lập báo cáo tổng hợp trong Excel cũng không quá khó, và khi có thêm VBA thì chúng ta hoàn toàn có thể giúp báo cáo trở nên hữu dụng và thân thiện hơn.
Bài viết này sẽ tạo tiền đề cho các bạn làm quen với VBA, cách học VBA dễ dàng và làm quen dần với kỹ thuật VBA giúp tự động hóa khi sử dụng Excel.
Xem thêm: Cách Tính Nguyên Hàm Bằng Máy Tính Thế Lực, Tính Nhanh Nguyên Hàm
Cảm ơn các bạn đã theo dõi.
Tải về tài liệu kèm theo bài học
VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook… giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp…
Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại: