Chào các anh chị em trong diễn đàn,
Dạo này công việc của mình liên quan đến việc tổng hợp số liệu từ nhiều file Excel khác nhau. Mỗi file là dữ liệu của một chi nhánh, và mình cần gộp tất cả lại vào một file tổng để báo cáo. Làm thủ công thì vừa mất thời gian, vừa dễ sai sót.
Sau một hồi mày mò, mình đã viết được một đoạn code VBA nho nhỏ để tự động hóa việc này. Code sẽ duyệt qua một thư mục được chỉ định, mở từng file Excel lên, copy dữ liệu từ một sheet cụ thể (ví dụ: 'DuLieuGoc') và dán vào sheet cuối cùng của file tổng. Nó cũng xử lý luôn trường hợp file tổng đã có dữ liệu, để tránh copy lặp lại.
Cách hoạt động cơ bản của code:
- Khai báo các biến cần thiết (đường dẫn thư mục, tên file, tên sheet...).
- Sử dụng đối tượng
FileSystemObjectđể duyệt qua các file trong thư mục. - Mở từng file Excel nguồn.
- Copy dữ liệu từ sheet 'DuLieuGoc' của file nguồn.
- Chuyển sang file tổng, tìm dòng trống cuối cùng và dán dữ liệu vào.
- Đóng file nguồn mà không lưu thay đổi.
- Lặp lại cho đến khi hết các file trong thư mục.
Mình thấy cách này hiệu quả và tiết kiệm được kha khá thời gian. Anh em nào đang gặp vấn đề tương tự có thể tham khảo hoặc cùng thảo luận để hoàn thiện hơn.
Nếu có ai cần code mẫu hoặc có cách nào hay hơn thì chia sẻ cho mình với nhé!
Cảm ơn mọi người đã đọc bài.