跳至主要内容

按行数将数据分割到多个工作表中

Author: Xiaoyang Last Modified: 2025-05-07

基于特定行数将大型数据区域高效地分割到多个Excel工作表中,可以简化数据管理。例如,每5行分割一次数据集并将其分配到多个工作表中,可以让数据更易于管理和组织。本指南提供了两种实用方法,帮助您快速轻松地完成此任务。

Split data into multiple worksheets by rows count

使用VBA代码按行数将数据分割到多个工作表中

使用Kutools for Excel按行数将数据分割到多个工作表中


使用VBA代码按行数将数据分割到多个工作表中

以下VBA代码可以帮助您按行数将数据分割到多个工作表中,请按照以下步骤操作:

1. 按住ALT + F11键打开Microsoft Visual Basic for Applications窗口。

2. 点击 “插入” > “模块”,然后在模块窗口中粘贴以下代码。

VBA:按行数将数据分割到多个工作表中

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键,在弹出的对话框中选择标题行,参见截图:

Split data into worksheets by rows count with vba code to select header row

4. 接着点击“ 确定”,在第二个提示框中选择要按行数分割的数据区域,参见截图:

Split data into worksheets by rows count with vba code to select data range

5. 继续点击“确定”按钮,在第三个提示框中输入要分割的行数,参见截图:

Split data into worksheets by rows count with vba code to specify rows number to split

6. 然后点击“确定”按钮,数据已根据行数被分割到多个工作表中,参见截图:

Split data into worksheets by rows count with vba code to get result


使用Kutools for Excel按行数将数据分割到多个工作表中

如果您觉得VBA代码复杂,Kutools for Excel提供了一种快速且直观的解决方案,能够高效解决数据分割问题。Split Data功能简化了操作流程,让任何技能水平的用户都能轻松将大型数据集分割到多个工作表中,无需深入的编程知识,从而实现有效的数据管理。

Kutools for Excel 包含300多种便捷的Excel工具。免费试用30天无任何限制。 立即获取

如果您已经安装了Kutools for Excel,请按照以下步骤操作:

1. 选择要分割的数据区域。然后点击 Kutools Plus > Split Data,参见截图:

Split data into worksheets by rows count with kutools

3. 在“将数据分割到多个工作表”对话框中:

  • 从“分割依据”选项中选择固定值,并输入每个工作表需要分割的行数。
  • 如果您的数据包含标题,并且希望将它们插入到每个新分割的工作表中,请勾选“数据包含标题”选项。(提示:您可以根据数据输入标题行的数量。)
  • 然后您可以指定分割后工作表的名称,在“创建工作表的名称”部分下,从“规则”下拉列表中选择工作表名称规则,还可以为工作表名称添加 前缀后缀

Split data into worksheets by rows count with kutools to set the operations

4. 设置完成后,点击“确定”,所选数据将按每5行分割到一个新工作簿中的多个工作表中,并且每个新工作表都插入了标题。参见截图:

Split data into worksheets by rows count with kutools to get the result

注意:要使用此功能,请先下载并安装Kutools for Excel

相关文章:

  • 按列将数据分割到多个工作表中
  • 假设您有一个包含大量数据行的工作表,现在需要根据“姓名”列(如下图所示)将数据分割到多个工作表中,而姓名是随机输入的。也许您可以先对它们进行排序,然后逐一复制并粘贴到其他新的工作表中。但这将需要您耐心地反复复制和粘贴。今天,我将介绍一些快速技巧来解决这个任务。
  • 在Excel中合并重复行并求和
  • 在Excel中,经常会遇到包含重复项的数据集。通常,您可能会面对一系列数据,其中的关键挑战是如何高效地合并这些重复行,同时对相应列中的值进行求和(如下图所示)。在此背景下,我们将探讨几种实用方法,帮助您整合重复数据并汇总其关联值,从而提升Excel工作簿的清晰度和实用性。
  • 基于关键列将两个或多个表格合并为一个
  • 假设您在一个工作簿中有三个表格,现在希望基于相应的关键列将这些表格合并为一个表格,以获得如下图所示的结果。对于大多数人来说,这可能是一项麻烦的任务,但请不要担心,本文将介绍一些解决该问题的方法。

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

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


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!