Làm thế nào để chia một bảng lớn thành nhiều bảng nhỏ trong Excel?
Nếu bạn có một trang tính lớn chứa nhiều cột và hàng trăm hoặc hàng nghìn hàng dữ liệu, bây giờ, bạn muốn chia bảng lớn này thành nhiều bảng nhỏ dựa trên giá trị cột hoặc số hàng để nhận được kết quả sau. Bạn có thể giải quyết công việc này như thế nào trong Excel?
Bảng chính | Chia bảng thành nhiều bảng theo giá trị cột | Chia bảng thành nhiều bảng theo số hàng | |
Chia một bảng lớn thành nhiều bảng dựa trên giá trị cột bằng mã VBA
Chia một bảng lớn thành nhiều bảng dựa trên số hàng cụ thể bằng mã VBA
Chia một bảng lớn thành nhiều bảng dựa trên giá trị cột hoặc số hàng với một tính năng tuyệt vời
Chia một bảng lớn thành nhiều bảng dựa trên giá trị cột bằng mã VBA
Để chia bảng lớn này thành nhiều bảng dựa trên một giá trị cột cụ thể, mã VBA sau có thể giúp bạn. 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 Mô-đun Cửa sổ.
Mã VBA: Chia một bảng lớn thành nhiều bảng theo cột chính:
Sub Splitdatabycol()
'by 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
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 khi dán mã, nhấn F5 để chạy mã này và một hộp nhắc xuất hiện, vui lòng chọn hàng tiêu đề từ dữ liệu của bạn, xem ảnh chụp màn hình:
4. Sau đó nhấn vào OKvà một hộp thoại khác hiện ra, vui lòng chọn dữ liệu cột mà bạn muốn tách bảng dựa trên, xem ảnh chụp màn hình:
5. Nhấp chuột OK, bảng lớn này đã được chia thành nhiều trang tính theo giá trị cột nằm sau trang tính chính. Và các trang tính mới được đặt tên với giá trị cột. Xem ảnh chụp màn hình:
Chia một bảng lớn thành nhiều bảng dựa trên số hàng cụ thể bằng mã VBA
Nếu bạn cần chia bảng thành nhiều bảng dựa trên số hàng, mã VBA sau có thể giúp bạn.
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 Mô-đun Cửa sổ.
Mã VBA: Chia một bảng lớn thành nhiều bảng theo số hàng:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Sau đó nhấn F5 , trong hộp thoại bật lên, hãy chọn hàng tiêu đề, xem ảnh chụp màn hình:
4. Sau đó nhấn vào OKvà trong hộp nhắc thứ hai, hãy chọn phạm vi dữ liệu mà bạn muốn chia theo số hàng, xem ảnh chụp màn hình:
5. Và sau đó, hãy nhấp vào OK , trong hộp nhắc thứ ba, nhập số hàng mà bạn muốn chia nhỏ, xem ảnh chụp màn hình:
6. Sau đó nhấn vào OK , bảng chính đã được chia thành nhiều trang tính dựa trên số hàng như hình ảnh chụp màn hình bên dưới:
Chia một bảng lớn thành nhiều bảng dựa trên giá trị cột hoặc số hàng với một tính năng tuyệt vời
Có thể những đoạn mã trên là khó đối với hầu hết người dùng, ở đây, tôi sẽ giới thiệu một tính năng tuyệt vời-Dữ liệu phân tách of Kutools cho Excel. Với tiện ích này, bạn có thể chia một bảng lớn thành nhiều bảng theo cột chính hoặc số hàng một cách nhanh chóng và dễ dàng.
Lời khuyên:Để á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, sau đó bấm Kutools Plus > Dữ liệu phân tách, xem ảnh chụp màn hình:
2. Trong Chia dữ liệu thành nhiều trang tính hộp thoại, chỉ định cài đặt theo nhu cầu của bạn:
(1.) Chọn Cột cụ thể or Hàng cố định từ Phân chia dựa trên phần như bạn cần;
(2.) Chỉ định tên trang tính mới 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. Sau đó nhấn vào Ok và bây giờ, bảng lớn đã được chia thành nhiều bảng nhỏ trong một sổ làm việc mới. Xem ảnh chụp màn hình:
Chia bảng thành nhiều bảng theo giá trị cột | Chia bảng thành nhiều bảng theo số hàng |
Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay!
Các bài viết tương đối hơn:
- Tách sổ làm việc để tách các tệp Excel trong Excel
- Bạn có thể cần phải chia một sổ làm việc lớn để tách các tệp Excel với việc lưu từng trang của sổ làm việc dưới dạng một tệp Excel riêng lẻ. Ví dụ: bạn có thể chia sổ làm việc thành nhiều tệp Excel riêng lẻ và sau đó giao từng tệp cho người khác xử lý. Bằng cách đó, bạn có thể nhờ một số người xử lý dữ liệu cụ thể và giữ an toàn cho dữ liệu của bạn. Bài viết này sẽ giới thiệu các cách chia sổ làm việc lớn để tách các tệp Excel dựa trên mỗi trang tính.
- Tách Họ và Tên thành Họ và Tên trong Excel
- Giả sử bạn có một bảng tên như ảnh chụp màn hình đầu tiên hiển thị trong một cột bên dưới, và bạn cần tách tên đầy đủ thành cột tên , cột tên đệm và cột họ như ảnh chụp màn hình sau. Dưới đây là một số phương pháp thủ thuật để giúp bạn giải quyết vấn đề này.
- Tách một cột dài thành nhiều cột trong Excel
- Nếu bạn có một dữ liệu cột dài trong Excel, điều này sẽ gây rắc rối khi xem chúng. Nhưng bây giờ nếu bạn có thể chia danh sách dài như vậy thành nhiều cột trong Excel, nó sẽ làm cho việc xem thuận tiện.
- Tách từ hoặc số thành các ô riêng biệt trong Excel
- Nếu bạn có danh sách các số hoặc từ trong một trang tính và bây giờ bạn cần chia nội dung ô thành các chữ cái trên các ô khác nhau như hình minh họa sau đây, bạn có thể giải quyết công việc này trong Excel như thế nào?
- Tách một danh sách dài thành các nhóm bằng nhau trong Excel
- Nếu bạn có một danh sách dài dữ liệu cần được chia thành nhiều nhóm bằng nhau như ảnh chụp màn hình sau đây, làm cách nào bạn có thể giải quyết công việc này một cách nhanh chóng và dễ dàng trong Excel?
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
- Thanh siêu công thức (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 và Lưu giữ dữ liệu; Nội dung phân chia ô; Kết hợp các hàng trùng lặp và Tổng / Trung bình... 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 ...
- Yêu thích và Chèn công thức nhanh chóng, Dãy, Biểu đồ và Hình ảnh; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
- 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 !
- Nhóm bảng tổng hợp theo số tuần, ngày trong tuần và hơn thế nữa ... Hiển thị các ô đã mở khóa, đã khóa bởi các màu sắc khác nhau; Đánh dấu các ô có công thức / tênhữu ích. Cảm ơn !
- 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!