Làm thế nào để chia dữ liệu thành nhiều bảng tính dựa trên cột trong Excel?
Giả sử bạn có một bảng tính với các dãy dữ liệu khổng lồ, và bây giờ, bạn cần chia dữ liệu thành nhiều bảng tính dựa trên Họ tên* cột (xem ảnh chụp màn hình sau) và tên được nhập ngẫu nhiên. Có lẽ 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 để giải quyết nhiệm vụ này.

Chia dữ liệu thành nhiều bảng tính dựa trên cột có mã VBA
Chia dữ liệu thành nhiều bảng tính dựa trên cột với Kutools for Excel
Chia dữ liệu thành nhiều trang tính dựa trên cột hoặc hàng cụ thể được tính trong trang tính:
Nếu bạn muốn chia một trang tính lớn thành nhiều trang tính dựa trên dữ liệu cột cụ thể hoặc số lượng hàng, thì Kutools cho Excel's Chia dữ liệu tính năng có thể giúp bạn giải quyết tác vụ này nhanh chóng và dễ dàng.
|
Chia dữ liệu thành nhiều bảng tính dựa trên cột có mã VBA
Nếu bạn muốn chia nhỏ 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ô-đun, và dán mã sau vào cửa sổ mô-đun.
Sub Splitdatabycol()
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
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
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").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 Phím để chạy mã và một hộp nhắc nhở được bật ra để 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 nhở thứ hai, vui lòng chọn dữ liệu cột mà bạn muốn phâ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 bảng tính phân chia được đặt tên với các tên ô phân chia. Xem ảnh chụp màn hình:

chú thích: Các bảng chia sẽ được đặt vào cuối của bảng tính mà ở đó có bảng tính tổng thể.
Chia dữ liệu thành nhiều bảng tính dựa trên cột với Kutools for Excel
Là một người mới bắt đầu của Excel, mã VBA dài này hơi khó khăn cho chúng tôi và hầu hết chúng ta thậm chí không biết làm thế nào để sửa đổi mã theo nhu cầu của chúng tôi.
Ở đâ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ó, Chia dữ liệu tiện ích không chỉ có thể giúp bạn chia nhỏ dữ liệu thành nhiều bảng tính dựa trên cột, mà còn có thể chia dữ liệu theo số hàng.
Kutools cho Excel : với nhiều hơn 300 tiện ích bổ sung Excel, miễn phí để thử mà không có giới hạn trong 60 ngày. |
|
Nếu bạn đã cài đặt Kutools cho Excel, vui lòng thực hiện như sau:
1. Chọn dải dữ liệu bạn muốn chia.
2. Nhấp chuột Kutools Plus > Bảng > Chia dữ liệu, xem ảnh chụp màn hình:

3. Trong Chia dữ liệu thành nhiều bảng tính hộp thoại, bạn cần phải:
1). Lựa chọn Cụm cột tùy chọn trong Chia dựa trên , và chọn giá trị cột mà bạn muốn chia nhỏ dữ liệu dựa trên 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 bảng tính chia nhỏ 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 tên bảng chia, theo Tên bảng tính mới , chỉ rõ các quy tắc về 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ác bảng tính là tốt.
3). Nhấn vào OK 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 sổ làm việc mới.

Nhấn vào đây để tải Kutools cho Excel và dùng thử ngay!
Chia dữ liệu thành nhiều bảng tính dựa trên cột với Kutools for Excel
Kutools cho Excel bao gồm nhiều công cụ Excel tiện dụng hơn 300. Tự do thử mà không bị giới hạn trong 60 ngày. Tải xuống dùng thử ngay bây giờ!
Bài viết liên quan:
Làm thế nào để chia dữ liệu thành nhiều bảng tính theo số hàng?
Các công cụ sản xuất được đề nghị
Mang các tab tiện dụng vào Excel và các phần mềm Office khác, giống như Chrome, Firefox và Internet Explorer mới.
Kinh ngạc! Tăng năng suất của bạn trong 5 phút. Không cần bất kỳ kỹ năng đặc biệt, tiết kiệm được hai giờ mỗi ngày!
300 Các tính năng mới cho Excel, Làm cho Excel dễ dàng và mạnh mẽ:
- Hợp nhất ô / Hàng / Cột mà không mất dữ liệu.
- Kết hợp và Hợp nhất nhiều trang tính và Workbooks.
- So sánh các dãy, sao chép nhiều dãy, chuyển đổi văn bản sang ngày, đơn vị và chuyển đổi tiền tệ.
- Đếm theo màu sắc, Paging Subtotals, sắp xếp nâng cao và Super Filter,
- Thêm / Chèn / Xóa / Văn bản / Định dạng / Liên kết / Nhận xét / Tập tin / Workheets Công cụ ...
