Chào các bạn, mình là thành viên mới của diễn đàn. Hôm nay mình muốn chia sẻ một chút kinh nghiệm về việc tự động hóa tạo báo cáo định kỳ bằng VBA, một vấn đề mình đã vật lộn khá lâu và cuối cùng cũng tìm ra giải pháp.
Công việc của mình thường xuyên phải làm báo cáo tổng hợp từ nhiều file Excel khác nhau, mỗi file lại có cấu trúc tương tự nhưng dữ liệu khác nhau. Việc copy-paste thủ công rất tốn thời gian và dễ sai sót. Sau khi tìm hiểu, mình quyết định sử dụng VBA để giải quyết.
Vấn đề cốt lõi: Làm sao để VBA có thể đọc dữ liệu từ nhiều file, tổng hợp lại và tạo thành một báo cáo duy nhất theo một mẫu có sẵn?
Giải pháp của mình:
- Sử dụng
Application.GetOpenFilenameđể người dùng chọn các file cần tổng hợp. - Dùng vòng lặp
For Each...Nextđể duyệt qua từng file đã chọn. - Trong mỗi file, sử dụng
Workbooks.Openđể mở file vàSheets(