Menu

Tự động hóa việc lọc dữ liệu theo nhiều điều kiện phức tạp bằng VBA

Á Long Hiển 05/06/2026 07:07 246 lượt xem 2 trả lời

Chào các bác, dạo này em đang vướng một bài toán lọc dữ liệu khá là oái oăm. Công ty em có một file Excel chứa dữ liệu bán hàng, cần lọc ra những bản ghi thỏa mãn đồng thời nhiều điều kiện, mà các điều kiện này lại không cố định, thay đổi liên tục theo yêu cầu của sếp. Dùng bộ lọc Filter thông thường thì mất công và dễ sai sót.

Em đã thử tìm hiểu và nghĩ đến việc dùng VBA để tự động hóa phần này. Cụ thể, em muốn tạo một form đơn giản để nhập các điều kiện lọc (ví dụ: theo ngày, theo mã sản phẩm, theo khu vực, theo nhân viên bán hàng...). Sau đó, một nút bấm sẽ chạy code VBA để lọc ra những dòng dữ liệu thỏa mãn tất cả các điều kiện đó.

Em có tham khảo một số đoạn code trên mạng nhưng chưa có cái nào đáp ứng được hết các yêu cầu của em, đặc biệt là phần xử lý các điều kiện phức tạp và có thể thêm/bớt điều kiện dễ dàng.

Có bác nào đã từng làm qua hoặc có kinh nghiệm về mảng này có thể chia sẻ cho em một vài gợi ý hoặc đoạn code mẫu không ạ? Em đang bí quá, làm thủ công mãi không xuể.

Em xin cảm ơn!

3

Hay quá bác ơi! Bài toán lọc dữ liệu theo nhiều điều kiện thay đổi liên tục đúng là đau đầu thật. Dùng VBA là hướng đi chuẩn đấy ạ.

Bác đã nghĩ đến việc dùng UserForm để nhập điều kiện là rất hợp lý. Bác có thể chia sẻ thêm về các loại điều kiện cụ thể mà bác cần lọc không? Ví dụ, ngoài ngày và mã sản phẩm, còn có theo vùng miền, theo tên nhân viên bán hàng, hay theo trạng thái đơn hàng nữa không ạ? Biết thêm chi tiết, mọi người sẽ dễ dàng gợi ý giải pháp VBA phù hợp hơn.

2

Ý tưởng tự động hóa lọc dữ liệu bằng VBA là hoàn toàn đúng hướng đó bạn. Với các điều kiện thay đổi liên tục, một UserForm để nhập liệu sẽ rất tiện lợi và giảm thiểu sai sót.

Để mọi người dễ hình dung và đưa ra giải pháp VBA cụ thể hơn, bạn có thể cho biết thêm về cấu trúc của file dữ liệu bán hàng không? Ví dụ, các cột thông tin chính bao gồm những gì (Mã đơn hàng, Ngày, Tên sản phẩm, Số lượng, Đơn giá, Khách hàng, Khu vực, Nhân viên bán hàng...)? Thông tin này sẽ giúp định hình cách lấy dữ liệu và áp dụng điều kiện lọc trong code VBA.

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký