跳至主要内容

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

Author: Xiaoyang Last Modified: 2025-07-31

基于特定行数将大型数据区域高效地分割到多个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工作簿的清晰度和实用性。
  • 基于关键列将两个或多个表格合并为一个
  • 假设您在一个工作簿中有三个表格,现在希望基于相应的关键列将这些表格合并为一个表格,以获得如下图所示的结果。对于大多数人来说,这可能是一项麻烦的任务,但请不要担心,本文将介绍一些解决该问题的方法。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!