Menu

Tự động hóa việc cập nhật dữ liệu từ nhiều file Excel con vào file tổng hợp bằng VBA

Khâu Nguyệt Thánh 08/04/2026 19:59 129 lượt xem 1 trả lời

Chào mọi người,

Mình đang gặp một vấn đề khá nan giải trong công việc và muốn lên đây hỏi kinh nghiệm của các cao thủ VBA. Hiện tại, mình có một thư mục chứa khoảng 50 file Excel báo cáo (file con), mỗi file có cấu trúc sheet và cột giống nhau. Mỗi tuần, mình cần tổng hợp dữ liệu từ tất cả các file con này vào một file Excel chính để làm báo cáo tổng thể.

Trước đây, mình thường phải mở từng file, copy dữ liệu rồi paste vào file tổng hợp, hoặc dùng Power Query. Tuy nhiên, việc này tốn rất nhiều thời gian và dễ sai sót, đặc biệt khi số lượng file con tăng lên.

Mình đang nghĩ đến việc sử dụng VBA để tự động hóa quá trình này. Ý tưởng là viết một macro có thể:

  • Duyệt qua tất cả các file Excel trong một thư mục chỉ định.
  • Mở từng file con lên.
  • Copy toàn bộ dữ liệu từ một sheet cụ thể (ví dụ: sheet 'Data').
  • Paste dữ liệu đó vào cuối của sheet 'Tổng hợp' trong file Excel chính.
  • Đóng file con mà không lưu thay đổi.
  • Lặp lại cho đến khi hết tất cả các file trong thư mục.

Mình đã thử tìm hiểu trên mạng nhưng chưa có đoạn code nào thực sự phù hợp với yêu cầu của mình. Có ai đã từng làm việc tương tự hoặc có thể gợi ý cho mình một đoạn code mẫu không ạ? Đặc biệt là phần xử lý việc duyệt thư mục và copy/paste dữ liệu.

Rất mong nhận được sự giúp đỡ từ cộng đồng!

Xin cảm ơn.

5

Chào bạn,

Vấn đề của bạn khá phổ biến và VBA xử lý vụ này rất tốt đó. Thay vì copy-paste thủ công hay dùng Power Query (cũng hay nhưng đôi khi VBA linh hoạt hơn cho các tác vụ phức tạp), bạn hoàn toàn có thể viết một đoạn code VBA để tự động hóa việc này.

Bạn có thể tham khảo ý tưởng sử dụng Dir() để duyệt qua tất cả các file trong thư mục, sau đó mở từng file con, copy dữ liệu từ sheet cần thiết và paste vào file tổng hợp. Nếu cần, mình có thể chia sẻ một đoạn code mẫu để bạn tham khảo.

Bạn có cần xử lý thêm các điều kiện lọc dữ liệu hay định dạng gì đặc biệt khi tổng hợp không?

5

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

Đăng nhập Đăng ký