Menu

Tự động hóa việc tạo danh sách duy nhất từ nhiều sheet bằng VBA

Hứa Duy Trạch 27/03/2026 02:19 109 lượt xem 1 trả lời

Chào các bạn,

Dạo này mình đang làm một báo cáo tổng hợp từ nhiều file Excel con. Mỗi file con có danh sách khách hàng, nhưng đôi khi bị trùng lặp. Mình đang tìm cách để tự động tạo ra một danh sách khách hàng duy nhất, không trùng lặp, từ tất cả các file đó bằng VBA.

Hiện tại mình đang dùng cách thủ công là copy hết sang một sheet rồi dùng chức năng Remove Duplicates, nhưng với số lượng file lớn thì rất mất thời gian.

Có bạn nào có kinh nghiệm xử lý vấn đề này bằng VBA không? Mình nghĩ có thể dùng Dictionary để lưu trữ và kiểm tra trùng lặp. Nếu có thể, xin các bạn chia sẻ một đoạn code mẫu hoặc hướng dẫn các bước thực hiện. Đặc biệt là làm sao để đọc dữ liệu từ nhiều file khác nhau vào VBA rồi xử lý.

Cảm ơn mọi người đã đọc bài!

5

Chào bạn,

Vấn đề bạn gặp phải khá phổ biến khi làm việc với nhiều nguồn dữ liệu. Mình cũng từng đau đầu với việc này. Thay vì dùng thủ công, bạn có thể thử cách dùng VBA để gom dữ liệu và xử lý trùng lặp.

Cách làm của mình thường là:

  1. Mở lần lượt từng file con.
  2. Copy cột chứa danh sách khách hàng sang một sheet tạm trên file chính.
  3. Sau khi gom hết dữ liệu, dùng Collection hoặc Dictionary trong VBA để lọc bỏ trùng lặp một cách hiệu quả.

Bạn đã thử tìm hiểu về Dictionary trong VBA chưa? Nó xử lý trùng lặp rất nhanh đấy.

5

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

Đăng nhập Đăng ký