提示:其他语言是Google翻译的。 你可以访问 English 版本。
登录
x
or
x
x
注册账户
x

or

如何通过Excel中的行数将数据拆分为多个工作表?

例如,我有一个数据列表的范围,现在我想按行数将它分成多个工作表,在这个例子中,我将按照每个5行分割它(见下面的截图)。 有什么方法可以帮助我们快速解决这个问题吗? 在这里我将介绍两个技巧,让您轻松完成。


DOC-分割数据逐rows1


-2



DOC-分割数据逐rows2
DOC-分割数据逐rows3
DOC-分割数据逐rows4
DOC-分割数据逐rows5

按VBA代码的行数将数据拆分成多个工作表

通过Kutools for Excel将行数据拆分为多个工作表


箭头蓝色右泡 按VBA代码的行数将数据拆分成多个工作表


下面的VBA代码可以帮助您按行数将行拆分成多个工作表,如下所示:

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

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

VBA:在Excel中按行数拆分数据。

Sub SplitData()
'Updateby20140617
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
SplitRow = Application.InputBox("Split Row Num", xTitleId, 5, Type:=1)
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (WorkRng.Rows.Count - xRow.Row + 1) < SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1
    xRow.Resize(resizeCount).Copy
    Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3。 然后按 F5 键来运行代码,弹出一个对话框来选择要分割的范围,然后单击 OK,另一个对话框为你指定行数。 看截图:

4. 点击 OK,并且范围按行数分成多个工作表。

注意:拆分工作表放置在主工作表的后面。


箭头蓝色右泡 通过Kutools for Excel将行数据拆分为多个工作表

上面的代码只能按指定的行数进行分割,如果数据有标题,则不会为每个工作表数据添加标题。

但随着 Kutools for Excel拆分数据,您不仅可以为每个工作表数据插入标题,还可以指定新的拆分工作表名称。

Kutools for Excel 包含了比300更方便的Excel工具。 免费试用30天无限制。 立即获取

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

1。 选择要分割的数据范围。

2。 点击 企业服务 > 工作表工具 > 拆分数据 (或 企业服务 > 拆分数据 ),看截图:

DOC-分割数据逐rows6

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

  • 选择 固定行根据分割 选项,然后输入要为每个工作表分割的行数。 (如果您的数据包含标题,并且要将其插入到每个新的拆分工作表中,请检查 我的数据有标题 选项。)
  • 然后,您可以指定拆分工作表名称 新的工作表名称 部分,从中选择工作表名称规则 规则 下拉列表中,可以添加 字首 or 后缀 表格名称也是如此。 看截图:

DOC-分割数据逐rows7

4。 指定设置后,点击 OK,并且所选数据已被每个5行分割成新工作簿的多个工作表。 并为每个新的工作表插入标题。 看截图:

DOC-分割数据逐rows8

点击了解更多关于这个拆分数据功能。

相关文章:

如何根据Excel中的列将数据拆分为多个工作表?



推荐的生产力工具

Office Tab

金星1 带上方便的选项卡到Excel和其他Office软件,就像Chrome浏览器,Firefox和新的Internet Explorer。

Kutools for Excel

金星1 惊人! 提高您在5分钟的生产力。 不需要任何特殊技能,每天保存两个小时!

金星1 300 Excel的新功能,让Excel变得简单而强大:

  • 合并单元格/行/列而不丢失数据。
  • 合并和合并多个工作表和工作簿。
  • 比较范围,复制多个范围,将文本转换为日期,单位和货币转换。
  • 按颜色计算,分页小计,高级分类和超级筛选,
  • 更多选择/插入/删除/文本/格式/链接/评论/工作簿/工作表工具...

Excel的Kutools屏幕截图

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Max · 9 months ago
    Omg thank you so very much dude!
  • To post as a guest, your comment is unpublished.
    prasanna · 1 years ago
    Hi Thanks for this great code, but the concern is, here we can only split fixed number of rows, can you help me with split is based on some name or code, because i have different set of rows for each worksheet.
  • To post as a guest, your comment is unpublished.
    aparna · 2 years ago
    hi this works great but want the output as string how can i modify the code or i can say example : 'output',
  • To post as a guest, your comment is unpublished.
    Ralph · 2 years ago
    Thanks a lot for the fantastic VBA-Script. But how to modify it to keep the header row on every split?
  • To post as a guest, your comment is unpublished.
    Ralph · 2 years ago
    Thanks, for this fantastic VBA-Script. But how to configure it to repeat the header row on every split?