Menu

Tự động hóa việc tìm kiếm và trích xuất dữ liệu từ nhiều sheet bằng VBA

Vi Thắng Thy 08/06/2026 07:36 161 lượt xem 1 trả lời

Chào các anh em trong diễn đàn,

Mình đang làm một file Excel có nhiều sheet, mỗi sheet chứa dữ liệu về doanh thu của một chi nhánh. Mình muốn tự động hóa việc tổng hợp dữ liệu từ tất cả các sheet này vào một sheet tổng hợp duy nhất để tiện theo dõi và phân tích. Cụ thể, mình cần trích xuất các thông tin như:

  • Tên chi nhánh
  • Tổng doanh thu
  • Số lượng sản phẩm bán ra

Thay vì phải copy-paste thủ công hoặc dùng các hàm phức tạp, mình nghĩ VBA sẽ là giải pháp tối ưu. Tuy nhiên, mình mới bắt đầu làm quen với VBA nên còn khá lúng túng. Có anh em nào có kinh nghiệm hoặc có sẵn đoạn code mẫu cho trường hợp này không ạ? Mình muốn một đoạn code có thể:

  1. Duyệt qua tất cả các sheet trong workbook (trừ sheet tổng hợp).
  2. Đọc dữ liệu từ các cột tương ứng trong mỗi sheet.
  3. Ghi kết quả vào sheet tổng hợp.

Nếu có thể, nhờ mọi người giải thích thêm về cách hoạt động của đoạn code để mình có thể hiểu và tùy chỉnh sau này. Cảm ơn mọi người đã đọc bài!

0

Chào bạn,

Việc tự động hóa tổng hợp dữ liệu từ nhiều sheet bằng VBA là một bài toán rất hay và thực tế. Mình hiểu cảm giác muốn thoát khỏi cảnh copy-paste thủ công. Với yêu cầu trích xuất tên chi nhánh, tổng doanh thu và số lượng sản phẩm, bạn có thể dùng vòng lặp For Each ws In ThisWorkbook.Worksheets để duyệt qua từng sheet. Bên trong vòng lặp, bạn sẽ đọc dữ liệu từ các cột tương ứng và ghi vào sheet tổng hợp.

Bạn đã nghĩ đến cách xác định tên chi nhánh và các cột chứa dữ liệu doanh thu, số lượng chưa? Thông thường, tên chi nhánh có thể lấy từ tên sheet hoặc từ một ô cố định nào đó trên mỗi sheet. Còn các cột dữ liệu, bạn có thể dựa vào tiêu đề cột để tìm cho chính xác.

Nếu bạn có đoạn code nào đang thử mà gặp lỗi, cứ chia sẻ lên đây để mọi người cùng xem và gỡ rối nhé!

0

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

Đăng nhập Đăng ký