跳到主要内容

在 Excel 中按行数将数据拆分为多个工作表

根据特定行数将大量数据有效地划分为多个 Excel 工作表可以简化数据管理。例如,将数据集每 5 行拆分为多个工作表可以使其更易于管理和组织。本指南提供了两种实用方法来快速轻松地完成此任务。

使用VBA代码按行计数将数据拆分为多个工作表

使用Kutools for Excel按行数将数据拆分为多个工作表


使用VBA代码按行计数将数据拆分为多个工作表

以下VBA代码可以帮助您按行数将行分为多个工作表,请执行以下操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到“模块窗口”中。

VBA:在 Excel 中按行数将数据拆分为工作表

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。 然后按 F5 键,在弹出的对话框中,选择标题行,请参见屏幕截图:

4。 然后,点击 OK,然后在第二个提示框中,选择要按行计数拆分的数据范围,请参见屏幕截图:

5。 继续点击 OK 按钮,在第三个提示框中,输入要分割的行数,请参见屏幕截图:

6。 然后,点击 OK 按钮,数据已根据行数拆分为多个工作表,请参见屏幕截图:


使用Kutools for Excel按行数将数据拆分为多个工作表

如果你觉得VBA代码很复杂, Kutools for Excel 提供快速直观的解决方案来有效解决数据拆分问题。这 拆分数据 该功能简化了操作流程,使任何技能水平的用户都可以轻松地将大型数据集划分为多个工作表,而无需深入的编程知识,从而促进有效的数据管理。

Kutools for Excel 包括300多个便捷的Excel工具。 30天免费试用,不受限制。 立即获取

如果你已经安装 Kutools for Excel,请执行以下操作:

1。选择要拆分的数据范围。然后,单击 Kutools 加 > 拆分数据,请参见屏幕截图:

3。 在 将数据拆分为多个工作表 对话框:

  • 选择 固定行分割依据 选项,然后输入要为每个工作表拆分的行数。
  • 如果您的数据有标题并且您想要将它们插入到每个新的拆分工作表中,请检查 我的数据有标题 选项。 (Tips::您可以根据您的数据输入牧民行数。)
  • 然后,您可以在 新工作表名称 部分,从中选择工作表名称规则 规则 下拉列表中,您可以添加 字首 or 后缀 以及工作表名称。 

4。 指定设置后,然后单击 OK,并且每5行将所选数据拆分为一个新工作簿的多个工作表。 并为每个新工作表插入标题。 看截图:

备注: 要应用此功能,请 下载并安装 Kutools for Excel 第一。

相关文章:

  • 根据列将数据拆分为多个工作表
  • 假设您有一个包含大量数据的工作表,现在您需要根据“名称”列将数据拆分为多个工作表(请参见下面的屏幕截图),并且名称是随机输入的。也许您可以先对它们进行排序,然后将它们逐一复制并粘贴到其他新工作表中。但这需要你耐心地反复复制和粘贴。今天,我将讨论一些解决此任务的快速技巧。
  • 合并重复的行并在Excel中对值求和
  • 在 Excel 中,经常会遇到包含重复条目的数据集。 通常,您可能会发现自己拥有一系列数据,其中的关键挑战是有效组合这些重复行,同时对相应列中的值进行求和,如下图所示。 在此背景下,我们将深入研究几种实用方法,这些方法可以帮助您合并重复数据并聚合其关联值,从而增强 Excel 工作簿的清晰度和实用性。
  • 根据键列将两个或多个表合并为一个表
  • 假设工作簿中有三个表,现在,您想根据相应的键列将这些表合并为一个表,以得到结果,如下面的屏幕快照所示。 对于我们大多数人来说,这可能是一个麻烦的任务,但是,请不要担心,本文将介绍一些解决此问题的方法。

最佳办公生产力工具

热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

kte选项卡201905


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (25)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Very useful thank u so much
This comment was minimized by the moderator on the site
Its awesome!
Rated 5 out of 5
This comment was minimized by the moderator on the site
But header is not retaining in the output. Please guide me if any solution.
This comment was minimized by the moderator on the site
Can we split this same data but by using a code in php?
This comment was minimized by the moderator on the site
U are the savior my brother. Take love from Bangladesh <3 
This comment was minimized by the moderator on the site
Is there a way to keep the header across all worksheet?
For example, row 1 is the column names and row 2 to row 51 are my data. When I split it into 10 worksheets, I hope to have row 1 be the header and row 2-6 be the data.
This comment was minimized by the moderator on the site
this was very helpful. thank you
This comment was minimized by the moderator on the site
I have 20 million data in excel. I need to segregate it with first 2500 rows followed by 250 data so on. How can I do it quickly.
This comment was minimized by the moderator on the site
Minmatar detected :O
This comment was minimized by the moderator on the site
thank you. saved a lot of my time.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations