Fike excel mới thành sheet


Hướng dẫn này chỉ ra 3 bước để giúp cách bạn ghép hoặc gộp nhiều file excel thành một file duy nhất, sử dụng một đoạn code VBA ngắn ngọn và công cụ sao chép Worksheet có sẵn trong Excel.

Bạn đang xem: Gộp nhiều file excel thành 1 file nhiều sheet

Việc xử lý dữ liệu trong một file excel duy nhất dễ dàng hơn rất nhiều thay vì chuyển đổi giữa các file, đồng thời giảm bớt thời gian cũng như tránh nhưng sai sót dữ liệu không mong muốn. Bạn có thể ứng dụng ghép file để thống kê thành quả công việc, quyết toán thu, chi của cơ quan mình trong một khoảng thời gian bất kỳ. Tuy nhiên, việc ghép nhiều file excel thành một file có thể khiến bạn mất nhiều thời gian nếu bạn không nắm được kỹ thuật.

Hôm nay, Blog share kỹ năng sẽ hướng dẫn bạn 3 bước để thực hiện việc này một cách đơn giản và hiệu quả. Cùng tìm hiểu cách làm ngay nhé!

Bài viết này có gì?

Cách ghép nhiều file excel thành một file duy nhất

Fike excel mới thành sheet

Bài toán đặt ra như sau: Ta có 3 file Excel là danh sach khach hang thang 1.xls, danh sach khach hang thang 2.xls, danh sach khach hang thang 3.xls trong thư mục Content như hình dưới. Yêu cầu cần gộp cả 3 file Excel này lại thành một file duy nhất. Để thực hiện thì các bạn hãy làm theo các 3 bước sau đây nhé:

Bước 1:Tạo một file Excel mới để ghép các file.

Đầu tiên, các bạn cần mở một file Excel mới lên. Sau đó các bạn chọn thẻDevelopertrên thanh công cụ. Tiếp theo các bạn chọnVisual Basictại mụcCode. Hoặc các bạn cũng có thể sử dụng tổ hợp phím tắtAlt + F11để mở cửa sổ VBA.

Nếu không thấy thẻ Developer, bạn có thể xem Hướng dẫn bật thẻ Developer trong Excel từ trang chủ của Microsoft

Fike excel mới thành sheet

Bước 2: Sử dụng Trình soạn code VBA để thao tác

Tiếp theo, khi cửa sổ Microsoft Visual Basic for Applications hiện ra. Các bạn chọn thẻInserttrên thanh công cụ. Thanh cuộn hiện ra thì các bạn chọn mụcModule.

Xem thêm: Bà Bầu Tháng Thứ 8 Nên Ăn Gì, Phụ Nữ Mang Thai Tháng Thứ 8 Nên Ăn Gì

Fike excel mới thành sheet

Bước 3: Dán mã code và thực hiện chạy ghép file

Ở màn hình này, hộp thoại Module hiện ra. Các bạn sao chép đoạn code dưới đây vào hộp thoại Module.

Fike excel mới thành sheet

Sub copy()Path = "K:\My Drive\Working\geektechreviews.com\Content\"Filename = Dir(Path & "*.xls*")Do While Filename ""Workbooks.Open Filename:=Path & Filename, ReadOnly:=TrueFor Each Sheet In ActiveWorkbook.SheetsSheet.copy after:=ThisWorkbook.Sheets(1)NextWorkbooks(Filename).CloseFilename = Dir()LoopEnd Sub
Sau đó các bạn nhấnRuntrên thanh công cụ hoặc nhấn phímF5để chạy mã code.

Lưu ý là đoạn Path = “ ” : Bên trong dấu ngoặc là đường dẫn của thư mục chứa các file bạn lưu. Và nhớ thêm dấu gạch “\” sau cùng đường dẫn để nó hiểu là 1 folder nhé.

Chỉ cần như vậy là tất cả file Excel trong thư mụcContentđã được gộp lại thành một file Excel duy nhất. Bây giờ thì các bạn cần tiến hành chỉnh sửa dữ liệu trong file Excel mới cũng như nhấnSaveđể lưu lại file này.

Fike excel mới thành sheet

Tổng kết:

Rất đơn giản đúng không bạn? Với cách sử dụng code VBA để gộp nhiều file Excel thành một file duy nhất này, kể cả bạn không quen với việc sử dụng code VBA cũng có thể thực hiện một cách đơn giản và hiệu quả được . Hy vọng bài viết sẽ hữu ích với các bạn trong quá trình làm việc.

Bạn đã từng nghĩ đến việc gộp 2 hoặc nhiều hơn 2 file excel thành 1 file duy nhất chưa? Đừng lo lắng. Dưới đây mình sẽ hướng dẫn cách kết hợp cực kỳ chuyên nghiệp bằng VBA.

Gộp Nhiều File Excel Thành Một File Bằng VBA.

Đầu tiên, chúng ta tạo 3 file đặt cùng nằm trên 1 folder như hình dưới: 

Fike excel mới thành sheet

Trong thư mục bên trên chúng tôi tạo:  File 1 có 5 sheet. File 2 có 2 sheet và file 3 có 1 sheet

Sau khi có file chúng ta sẽ tạo 1 file excel hoàn toàn mới . Vào Developer > Visual Basic. Xuất hiện cửa sổ Microsoft Visual Basic for applications. Nhấp vào Insert > Module và sao chép đoạn mã dưới đây vào Module:

Hoặc nhấn ALT + F11 để mở cửa sổ lập trình và nhấp vào Insert > Module và sao chép đoạn mã dưới đây vào Module:

Sub copy()
Path = "C:\Users\HP\Desktop\Gop file excel\"
Filename = Dir(Path & "*.xls*")
Do While Filename <> ""
    Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
        For Each Sheet In ActiveWorkbook.Sheets
            Sheet.Copy after:=ThisWorkbook.Sheets(1)
        Next
    Workbooks(Filename).Close
    Filename = Dir()
Loop
End Sub

Fike excel mới thành sheet

  • Chú ý: Ngay chổ Path = "" : Bên trong dấu ngoặc là đường dẫn của thư mục chứa các file bạn lưu. Và nhớ thêm dấu gạch "\" sau cùng đường dẫn để nó hiểu là 1 folder nhé. 

Cuối cùng nhấn Run hoặc F5 để chạy mã. Tất cả trang tính sẽ được hợp nhất vào 1 file lớn duy nhất.

Bạn có thể thấy là tất cả các sheet của 3 file đã được gộp vào 1 file mới tạo. 

Fike excel mới thành sheet

Có thể thấy rằng các sheet có tên sheet 1 và sheet 1 (2) để phân biệt nó chỉ là trùng tên lúc tạo tên sheet chứ dữ liệu hoàn toàn không đổi. 

Fike excel mới thành sheet

Tạo Shapes Để Chạy Code VBA

Tạo 1 Shapes để chạy VBA như sau:

Fike excel mới thành sheet

Cuối cùng chúng ta muốn chạy Shapes vừa tạo đẹp hơn thì xoá hết các sheet chỉ để lại sheet tạo Shapes của mình. Lưu ý lưu file (book2) dưới dạng Excel Macro-Enabled Workbook. 

Fike excel mới thành sheet