Hướng dẫn cách gộp nhiều file excel vào 1 file excel sử dụng VBA

VBA là một công cụ rất hữu ích trong Excel. Một trong những tác dụng đó là giúp chúng ta giảm bớt các thao tác tay tốn nhiều thời gian chỉ với 1 vài mã lệnh đơn giản. Khi ứng dụng VBA chúng ta có thể tiết kiệm rất nhiều thời gian, mặt khác cũng giúp chúng ta hình thành được tư duy lập trình, tự động hóa cho Excel trong công việc. Trong bài viết này Học Excel Online sẽ hướng dẫn các bạn cách gộp nhiều file Excel vào 1 file sử dụng VBA với 1 câu lệnh ngắn gọn. Hãy cùng tìm hiểu nào:

Yêu cầu công việc của chúng ta là:

Trong 1 thư mục gồm nhiều file của nhiều chi nhánh:

Yêu cầu: gộp dữ liệu từ nhiều chi nhánh (5 chi nhánh) vào file Tổng hợp chi nhánh.

1. Phân tích yêu cầu

Trong mỗi file chi nhánh bao gồm 1 Sheet (Sheet1) hoặc nhiều Sheet. Chúng ta cần phải đưa nội dung các Sheet của từng file chi nhánh vào file Tổng hợp chi nhánh.

Ở đây có sử dụng VBA nên chúng ta sẽ phải làm thêm nút lệnh để khi bấm vào lệnh đó là có thể tự động thực hiện thao thác lấy dữ liệu các file chi nhánh vào file tổng hợp (không phải thực hiện bằng tay mà làm tự động)

2. Cách thực hiện

Sau khi xác định được yêu cầu, chúng ta sẽ cần xây dựng từng bước cần làm. Phải diễn đạt bằng lời trước, sau đó mới có thể viết lại yêu cầu bằng câu lệnh VBA.

Trình tự các bước cần làm như sau:

  • File chi nhánh là file nào, ở đâu. Tại bước này cần xác định rõ vị trí nơi chúng ta đang lưu các file chi nhánh, gồm đường dẫn tới thư mục lưu file và Tên file
  • Tuy nhiên ở trường hợp trên cần biện luận: Nếu thư mục đó không có sẵn file nào thì sao? Chúng ta chỉ có thể thực hiện thao tác gộp file khi có sẵn các file chi nhánh.
  • Muốn lấy nội dung của 1 sheet trong 1 workbook (hay 1 file) thì phải mở workbook đó lên. Đây là nguyên tắc bắt buộc của Excel
  • Copy nội dung của Sheet hoặc copy cả Sheet sang file Tổng hợp
  • Sau khi đã copy xong thì chúng ta cần đóng lại file Chi nhánh.
  • Quy trình trên sẽ thực hiện tuần tự từng file trong thư mục

Xem thêm: Hướng dẫn cách gộp nhiều file excel thành 1 file không dùng VBA

3. Câu lệnh VBA

Trong file Tổng hợp chi nhánh chúng ta mở cửa sổ VBA bằng cách sử dụng phím tắt Alt+F11 hoặc bấm vào nút Visual Basic trong thẻ Developer

Tạo mới 1 Module

Trong Module này tạo mới 1 Sub có tên là Gop_Sheet

Dựa vào quy trình đã xây dựng được ở bước 2, chúng ta sẽ viết câu lệnh trong VBA như sau:

Như vậy là chúng ta có thể tự tay viết được 1 câu lệnh trong VBA giúp tự động hóa thao tác gộp nhiều file chi nhánh vào 1 file tổng hợp được rồi. Chúc các bạn thành công

VBA giúp ích rất nhiều trong công việc: Tự động hóa Excel, viết hàm tự tạo, giúp làm việc trong Excel dễ dàng hơn, chuyên nghiệp hơn, bổ sung thêm những điều mà Excel không có sẵn. Để tìm hiểu thêm nhiều kiến thức về VBA, mời bạn tham dự khóa học VBA101 – Tự động hóa Excel với lập trình VBA. Đây là khóa học rất hữu ích dành cho bạn. Hãy cùng khám phá nào