Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa việc gom dữ liệu từ nhiều sheet thành 1 sheet bằng VBA

Thượng Hán Thắng 14/03/2026 10:10 232 lượt xem 2 trả lời

Chào mọi người, mình có một vấn đề cần nhờ mọi người hỗ trợ ạ. Công việc của mình hàng ngày là phải gom dữ liệu từ khoảng 20 sheet khác nhau (mỗi sheet là dữ liệu của 1 ngày) vào một sheet tổng để phân tích.

Hiện tại mình đang làm thủ công bằng cách copy từng sheet rồi paste vào sheet tổng, rất mất thời gian và dễ sai sót. Mình có tìm hiểu và biết đến VBA có thể giúp tự động hóa việc này, nhưng mình lại không rành về VBA lắm.

Mình muốn hỏi có ai có kinh nghiệm hoặc code mẫu nào để có thể tự động gom toàn bộ dữ liệu từ các sheet có tên bắt đầu bằng 'Ngay_' (ví dụ: Ngay_01, Ngay_02, ...) vào một sheet tên là 'TongHop' không ạ?

Yêu cầu là:

  • Copy toàn bộ dữ liệu (bao gồm cả tiêu đề) từ các sheet 'Ngay_XX'
  • Paste vào sheet 'TongHop'
  • Các sheet 'Ngay_XX' có cấu trúc cột giống nhau
  • Nếu sheet 'TongHop' đã có dữ liệu thì paste chồng lên hoặc xóa đi làm lại (tùy cách xử lý của code).

Mình xin cảm ơn trước ạ!

3

Chào bạn,

Vấn đề gom dữ liệu từ nhiều sheet vào một sheet tổng bằng VBA này mình cũng từng gặp và xử lý rồi. Cách làm thủ công đúng là rất tốn công và dễ sai sót thật.

Mình có một đoạn code đơn giản có thể giúp bạn làm việc này. Về cơ bản, code sẽ lặp qua từng sheet (trừ sheet tổng bạn đã chỉ định), sau đó copy toàn bộ dữ liệu (hoặc một vùng dữ liệu nhất định) và paste vào sheet tổng.

Bạn có thể chia sẻ thêm về cấu trúc dữ liệu của bạn không? Ví dụ: Tên các sheet nguồn có theo một quy tắc nào không (ví dụ: "Ngày_01", "Ngày_02",...)? Dữ liệu bạn muốn gom có nằm ở một vùng cố định không (ví dụ: A1:Z100)? * Bạn có muốn giữ lại tiêu đề của các cột không?

Có thêm thông tin này, mình sẽ dễ dàng chỉnh sửa code cho phù hợp với file của bạn hơn.

Thân, [Tên của bạn]

4

Chào bạn,

Vấn đề gom dữ liệu thủ công này đúng là "ác mộng" của dân văn phòng. Mình hiểu cảm giác của bạn lắm!

Đoạn code bạn kia chia sẻ rất hay và đi đúng hướng rồi đó. Nếu bạn muốn thêm một chút "gia vị" cho code, có thể cân nhắc thêm việc:

Xử lý tiêu đề: Bạn có muốn chỉ lấy tiêu đề từ sheet đầu tiên, hay muốn lặp lại tiêu đề ở mỗi lần gom dữ liệu không? Kiểm tra trùng lặp: Nếu dữ liệu có thể bị trùng, bạn có muốn thêm bước kiểm tra và loại bỏ các dòng trùng lặp không?

Chia sẻ thêm về cấu trúc file của bạn để mọi người có thể giúp bạn hoàn thiện code nhé!

Thân, [Tên của bạn]

0

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

Đăng nhập Đăng ký