Menu

Tự động hóa việc tìm kiếm và cập nhật dữ liệu giữa nhiều file Excel bằng VBA

Liễu Tây Ly 24/03/2026 22:11 415 lượt xem 1 trả lời

Chào các anh chị em, mình là dân văn phòng mới tập tọe với VBA được vài tháng nay. Dạo này công việc của mình liên quan đến việc phải tổng hợp dữ liệu từ rất nhiều file Excel khác nhau, mỗi file lại có cấu trúc tương tự nhưng tên file thì thay đổi liên tục. Việc copy-paste thủ công vừa mất thời gian lại dễ sai sót.

Mình đang tìm cách để tự động hóa việc này. Cụ thể là:

  • Mình muốn viết một đoạn VBA để nó có thể duyệt qua một thư mục chứa các file Excel.
  • Với mỗi file tìm thấy, nó sẽ mở file đó lên, đọc một vài ô dữ liệu nhất định (ví dụ: ô A1, B2, C3).
  • Sau đó, nó sẽ đóng file đó lại và ghi các giá trị đã đọc được vào một file Excel chính (file mà mình đang chạy code).

Mình đã thử tìm hiểu về Dir() để duyệt thư mục và Workbooks.Open() để mở file, nhưng đến phần đọc dữ liệu từ file khác và ghi sang file hiện tại thì hơi lúng túng. Có anh chị nào có kinh nghiệm về việc này không ạ? Hoặc có thể gợi ý cho mình hướng đi hoặc một đoạn code mẫu để tham khảo thì mình xin cảm ơn rất nhiều!

Mình tin là nhiều anh em ở đây cũng gặp tình huống tương tự, chia sẻ để cùng nhau học hỏi ạ!

0

Chào bạn,

Mình hiểu tình huống của bạn, việc xử lý dữ liệu từ nhiều file mà tên file thay đổi liên tục đúng là rất "nhức đầu". Bạn đang đi đúng hướng khi nghĩ đến VBA đấy.

Để duyệt qua thư mục và mở từng file, bạn có thể dùng FileSystemObject hoặc hàm Dir trong VBA. Sau đó, với mỗi file, bạn sẽ cần đọc dữ liệu bạn cần. Bạn có thể cho mình biết rõ hơn về cấu trúc dữ liệu trong các file đó không? Ví dụ, dữ liệu cần tìm nằm ở sheet nào, cột nào, và cách nhận biết dữ liệu đó để "đọ" với file chính là dựa vào tiêu chí nào?

Có thêm thông tin này, mình sẽ dễ gợi ý cách viết code chính xác hơn cho bạn.

3

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

Đăng nhập Đăng ký