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.