Tách file Excel thành nhiều file nhỏ

Giả sử bạn có một trang tính với các hàng lớn dữ liệu và bây giờ, bạn cần chia dữ liệu thành nhiều trang tính dựa trên Họ tên [xem ảnh chụp màn hình sau] và tên được nhập ngẫu nhiên. Có thể bạn có thể sắp xếp chúng trước, sau đó sao chép và dán từng cái một vào các trang tính mới khác. Nhưng điều này sẽ cần sự kiên nhẫn của bạn để sao chép và dán nhiều lần. Hôm nay, tôi sẽ nói về một số thủ thuật nhanh chóng để giải quyết công việc này.

Chia dữ liệu thành nhiều trang tính dựa trên cột có mã VBA

Chia dữ liệu thành nhiều trang tính dựa trên cột với Kutools cho Excel

Chia dữ liệu thành nhiều trang tính dựa trên cột có mã VBA

Nếu bạn muốn tách dữ liệu dựa trên giá trị cột một cách nhanh chóng và tự động, mã VBA sau đây là một lựa chọn tốt. Vui lòng làm như sau:

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Sub Splitdatabycol[]
'updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox["Please select the header rows:", "Kutools for Excel", "", Type:=8]
If TypeName[xTRg] = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox["Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8]
If TypeName[xVRg] = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells[ws.Rows.Count, vcol].End[xlUp].Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells[1].Row
icol = ws.Columns.Count
ws.Cells[1, icol] = "Unique"
Application.DisplayAlerts = False
If Not Evaluate["=ISREF['xTRgWs_Sheet!A1']"] Then
Sheets.Add[after:=Worksheets[Worksheets.Count]].Name = "xTRgWs_Sheet"
Else
Sheets["xTRgWs_Sheet"].Delete
Sheets.Add[after:=Worksheets[Worksheets.Count]].Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets["xTRgWs_Sheet"]
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range["A1"]
ws.Activate
For i = [titlerow + xTRg.Rows.Count] To lr
On Error Resume Next
If ws.Cells[i, vcol]  "" And Application.WorksheetFunction.Match[ws.Cells[i, vcol], ws.Columns[icol], 0] = 0 Then
ws.Cells[ws.Rows.Count, icol].End[xlUp].Offset[1] = ws.Cells[i, vcol]
End If
Next
myarr = Application.WorksheetFunction.Transpose[ws.Columns[icol].SpecialCells[xlCellTypeConstants]]
ws.Columns[icol].Clear
For i = 2 To UBound[myarr]
ws.Range[title].AutoFilter field:=vcol, Criteria1:=myarr[i] & ""
If Not Evaluate["=ISREF['" & myarr[i] & "'!A1]"] Then
Set xWS = Sheets.Add[after:=Worksheets[Worksheets.Count]]
xWS.Name = myarr[i] & ""
Else
xWS.Move after:=Worksheets[Worksheets.Count]
End If
xWSTRg.Range[title].Copy
xWS.Paste Destination:=xWS.Range["A1"]
ws.Range["A" & [titlerow + xTRg.Rows.Count] & ":A" & lr].EntireRow.Copy xWS.Range["A" & [titlerow + xTRg.Rows.Count]]
Sheets[myarr[i] & ""].Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. Sau đó nhấn F5 để chạy mã và một hộp nhắc xuất hiện để nhắc bạn chọn hàng tiêu đề, xem ảnh chụp màn hình:

4. Và sau đó, nhấp vào OK và trong hộp nhắc thứ hai, vui lòng chọn dữ liệu cột mà bạn muốn tách dựa trên, xem ảnh chụp màn hình:

5. Sau đó nhấn vào OKvà tất cả dữ liệu trong trang tính đang hoạt động được chia thành nhiều trang tính theo giá trị cột. Và các trang tính được phân tách được đặt tên bằng tên các ô được chia nhỏ. Xem ảnh chụp màn hình:

Chú thích: Các trang tính đã tách được đặt ở cuối sổ làm việc, nơi có trang tính chính.

Chia dữ liệu thành nhiều trang tính dựa trên cột với Kutools cho Excel

Là người mới bắt đầu sử dụng Excel, mã VBA dài này hơi khó đối với chúng tôi và hầu hết chúng tôi thậm chí không biết cách sửa đổi mã theo nhu cầu của mình. Ở đây, tôi sẽ giới thiệu cho bạn một công cụ đa chức năng--Kutools cho ExcelCủa nó, Dữ liệu phân tách tiện ích không chỉ có thể giúp bạn chia dữ liệu thành nhiều trang tính dựa trên cột, mà còn có thể chia dữ liệu theo số hàng.

Lưu ý:Để áp dụng điều này Dữ liệu phân tách, trước tiên, bạn nên tải xuống Kutools cho Excel, và sau đó áp dụng tính năng một cách nhanh chóng và dễ dàng.

Sau khi cài đặt Kutools cho Excel, hãy làm như sau:

1. Chọn phạm vi dữ liệu mà bạn muốn tách.

2. Nhấp chuột Kutools Plus > Bảng > Dữ liệu phân tách, xem ảnh chụp màn hình:

3. Trong Chia dữ liệu thành nhiều trang tính hộp thoại, bạn cần:

1]. Lựa chọn Cột cụ thể tùy chọn trong Phân chia dựa trên và chọn giá trị cột mà bạn muốn tách dữ liệu dựa trên trong danh sách thả xuống. [Nếu dữ liệu của bạn có tiêu đề và bạn muốn chèn chúng vào mỗi trang tính phân tách mới, vui lòng kiểm tra Dữ liệu của tôi có tiêu đề Tùy chọn.]

2]. Sau đó, bạn có thể chỉ định các tên bảng tính đã tách, trong Tên trang tính mới , chỉ định các quy tắc tên trang tính từ Nội quy danh sách thả xuống, bạn có thể thêm Tiếp đầu ngữ or suffix cho cả tên trang tính.

3]. Nhấn vào OK cái nút. Xem ảnh chụp màn hình:

4. Bây giờ, dữ liệu được chia thành nhiều trang tính trong một sổ làm việc mới.

Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay!

Chia dữ liệu thành nhiều trang tính dựa trên cột với Kutools cho Excel

Kutools cho Excel bao gồm hơn 300 công cụ Excel tiện dụng. Dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống bản dùng thử miễn phí ngay bây giờ!

Bài viết liên quan:

Làm cách nào để chia dữ liệu thành nhiều trang tính theo số hàng?

Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar [dễ dàng chỉnh sửa nhiều dòng văn bản và công thức]; Bố cục đọc [dễ dàng đọc và chỉnh sửa số lượng ô lớn]; Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống [tất cả các ô đều trống]; Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc [lưu và áp dụng các lược đồ lọc cho các trang tính khác]; Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!

Chủ Đề