Chào các anh em trong diễn đàn,
Dạo này công ty mình có một cái báo cáo hàng tháng khá là thủ công, mỗi lần làm là tốn cả ngày trời để tổng hợp dữ liệu từ nhiều file nhỏ khác nhau. Mình đang tìm cách tự động hóa nó bằng VBA để đỡ mất thời gian.
Cái báo cáo này cần lấy dữ liệu từ các file Excel đặt trong một thư mục, sau đó lọc theo tháng, tổng hợp doanh thu, chi phí và tính lợi nhuận. Dữ liệu nguồn thì có thể thay đổi cấu trúc cột một chút qua các tháng, nên mình muốn code làm sao mà linh hoạt một chút.
Hiện tại mình đang nghĩ đến việc dùng FileSystemObject để duyệt qua các file trong thư mục, sau đó mở từng file lên để lấy dữ liệu. Tuy nhiên, mình hơi bí ở chỗ làm sao để xử lý trường hợp cấu trúc cột thay đổi. Có anh em nào có kinh nghiệm trong vụ này không?
Mình đang nghĩ đến việc:
- Xác định các cột quan trọng dựa trên tên cột (ví dụ: 'Doanh thu', 'Chi phí', 'Tháng').
- Sử dụng
Application.Matchđể tìm vị trí cột thay vì dùng số cột cố định. - Sau khi tổng hợp xong, tạo một sheet mới để trình bày báo cáo tổng.
Có cao nhân nào có ý tưởng hay hoặc một đoạn code mẫu tham khảo thì chỉ giáo giúp mình với ạ. Mình cảm ơn nhiều!