Dồn các sheet sang 1 file nhanh nhất

Hướng dẫn này chỉ ra 3 bước để giúp 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.

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ì phải liên tục 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.

Bây giờ, 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
    • Bước 1: Tạo một file Excel mới để ghép các file.
    • Bước 2: Sử dụng Trình soạn code VBA để thao tác
    • Bước 3: Dán mã code và thực hiện chạy ghép file
  • Tổng kết:

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

Dồn các sheet sang 1 file nhanh nhất

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 trên. 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ẻ Developer trên thanh công cụ. Tiếp theo các bạn chọn Visual Basic tại mục Code. Hoặc các bạn cũng có thể sử dụng tổ hợp phím tắt Alt + 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

Dồn các sheet sang 1 file nhanh nhất

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ẻ Insert trên thanh công cụ. Thanh cuộn hiện ra thì các bạn chọn mục Module.

Dồn các sheet sang 1 file nhanh nhất

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.

Dồn các sheet sang 1 file nhanh nhất

Sub copy()
Path = "K:\My Drive\Working\SHAREKYNANG\Content\"
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

Sau đó các bạn nhấn Run trên thanh công cụ hoặc nhấn phím F5 để 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ục Content đã đượ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ấn Save để lưu lại file này.

Dồn các sheet sang 1 file nhanh nhất

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.

Trong quá trình làm việc với phần mềm Excel, trong một số trường hợp, đôi khi chúng ta cần phải gộp nhiều sheet thành một sheet lớn để có thể phân tích và tính toán dữ liệu trong trang tính một cách dễ dàng hơn. Đa số phần lớn mọi người thường sử dụng các lệnh sao chép và dán, tuy nhiên khi có nhiều sheet cần gộp thì việc làm này tốn khá nhiều thời gian. Vậy làm sao để có thể gộp nhiều sheet thành một sheet trong Excel? Trong bài viết hôm nay, mình sẽ hướng dẫn một cách chi tiết và cụ thể về các cách gộp nhiều sheet thành một sheet lớn trong Excel.

1. Cách gộp nhiều sheet thành 1 sheet bằng cách thủ công

Để có thể gộp nhiều sheet thành 1 sheet bằng cách thủ công, chúng ta cần phải thao tác khá nhiều bước, cụ thể như sau:

Bước 1: Đầu tiên, chúng ta cần tạo Table cho từng Sheet cần gộp bằng cách chọn Insert rồi nhấn chọn Table, sau đó nhấn OK. Tiếp theo, chúng ta tiến hành đặt tên ở góc trên màn hình sau khi nhấn OK rồi đặt lại tên xong nhấn Enter và kết quả của tạo Table như hình minh họa dưới đây:

Dồn các sheet sang 1 file nhanh nhất

Bước 2: Tiếp theo, chúng ta vào thẻ Data, tiếp đó chọn From Table, khi đó một cửa sổ mới hiện ra, chúng ta kích chọn Close & Load rồi nhấn chọn Close & Load to.

Dồn các sheet sang 1 file nhanh nhất

Sau đó, khi cửa sổ nhỏ hiện ra chúng ta  tích chọn Only Create Connection rồi nhấn chọn Load.

Dồn các sheet sang 1 file nhanh nhất

Bước 3: Và chúng ta cũng làm tương tự cho các sheet cần gộp còn lại, lúc này ở mục Workbook Queries sẽ chứa tất cả các Sheet mà chúng ta muốn gộp. Tuy nhiên, hãy chú ý nếu chúng ta tổng hợp 10 sheet thì trong mục Workbook Queries cũng phải có đủ 10 Sheet thì mới chính xác.

Bước 4: Tiếp theo, chúng ta kích chọn thẻ Data, chọn Get Data, rồi nhấn chọn Combine Queries và chọn Append.

Dồn các sheet sang 1 file nhanh nhất

Lúc này, cửa sổ Append hiện ra, chúng ta tích vào mục Three Or More Table rồi tích chọn cột Available Table, tiếp đó nhấn chọn Add để cho các sheet hiển thị ở cột Tables To Append rồi nhấn Ok.

Dồn các sheet sang 1 file nhanh nhất

Như vậy, lúc này các Sheet đã được tổng hợp vào cửa sổ mới, chúng ta chọn Close & Load rồi chọn Close & Load To.

Dồn các sheet sang 1 file nhanh nhất

Khi đó, cửa sổ Import Data hiện ra, chúng ta tích Table và tích New Worksheet trong trường hợp nếu chúng ta muốn tạo mới hoặc Existing Worksheet trong trường hợp nếu chúng ta muốn tạo vào một Sheet có sẵn, sau đó nhấn Ok.

Dồn các sheet sang 1 file nhanh nhất

Cuối cùng thì chúng ta đã có thể gộp được các Sheet thành một Sheet một cách thủ công mà không cần dùng bất kỳ công thức nào như hình minh họa dưới đây:

Dồn các sheet sang 1 file nhanh nhất

2. Cách gộp nhiều sheet thành 1 sheet bằng VBA

Ngoài cách gộp nhiều Sheet thành một Sheet trong Excel một cách thủ công, chúng ta có thể sử dụng code VBA. Mã VBA có thể giúp chúng ta lấy dữ liệu của tất cả sheet tính từ file tính đang hoạt động và kết hợp chúng thành trang tính lớn. 

Ví dụ: Chúng ta có ba sheet tính Grade1, Grade2, Grade3 là các sheet chứa thông tin của các bạn học sinh, chúng ta hãy gộp các sheet này thành một sheet như hình minh họa bên phải dưới đây:

Dồn các sheet sang 1 file nhanh nhất

Để có thể gộp nhiều Sheet trong ví dụ trên thành một Sheet lớn bằng VBA thì chúng ta hãy lần lượt thực hiện các bước như sau:

Bước 1: Đầu tiên, chúng ta cần nhấn giữ Alt + F11, khi đó hộp thoại Microsoft Visual Basic for Applications sẽ mở ra.

Bước 2: Sau đó, chúng ta nhấn chọn Insert, tiếp đó chọn Module và thực hiện dán đoạn mã code sau vào cửa sổ Module.

Sub Combine()

Dim J As Integer

On Error Resume Next

Sheets(1).Select

Worksheets.Add

Sheets(1).Name = "Combined"

Sheets(2).Activate

Range("A1").EntireRow.Select

Selection.Copy Destination:=Sheets(1).Range("A1")

For J = 2 To Sheets.Count

Sheets(J).Activate

Range("A1").Select

Selection.CurrentRegion.Select

Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select

Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)

Next

End Sub

Bước 3: Cuối cùng, chúng ta nhấn F5 để chạy mã. Lúc này tất cả dữ liệu trong bảng tính đã được hợp nhất thành trang tính Combined và được đặt trước các trang tính khác.

3. Một số lưu ý khi gộp nhiều sheet thành 1 sheet bằng code VBA

  • Để có thể thực hiện gộp nhiều sheet thành 1 sheet bằng code VBA thì hãy đảm bảo rằng tất cả dữ liệu, trang tính của bạn phải có cùng cấu trúc, cùng tiêu đề cột và thứ tự cột.
  • Khi thực hiện gộp nhiều sheet thành 1 sheet bằng code VBA thì dữ liệu cần phải bắt đầu từ ô A1, còn nếu không thì đoạn mã này sẽ không hoạt động.
  • Ngoài ra, đoạn mã code VBA này chỉ có thể kết hợp tất cả trang tính của một bảng tính, còn trong trường hợp nếu chúng ta muốn gộp nhiều sheet thành nhiều sheet khác nhau thì đoạn mã này sẽ không hoạt động.

Qua bài viết trên chia sẻ trên đây của mình chắc hẳn các bạn đã hiểu rõ về các cách gộp nhiều sheet thành 1 sheet trong Excel bằng cách thủ công hay bằng code VBA. Khi các bạn thực hiện gộp nhiều sheet thành 1 sheet bằng code VBA sẽ nhanh hơn khá nhiều so với cách thủ công thông thường. Ngoài ra, VBA có thể sẽ giúp các bạn tăng tốc trong quá trình xử lý trên excel, giúp bạn lập các báo cáo tự động,...Nếu có thắc mắc hay câu hỏi nào liên quan đến cách gộp nhiều sheet thành 1 sheet trong Excel thì hãy liên hệ qua website này nhé.