Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1455|回复: 4

[已解决]如何将一个工作表的数据拆分成多个工作簿?

[复制链接]
发表于 2022-1-21 20:43 | 显示全部楼层 |阅读模式
本帖最后由 cdc811 于 2022-1-21 20:51 编辑

如何将一个工作表的数据拆分成多个工作簿:
1、总共有20000多行数据,如何按1000行数据拆分一个工作簿;
2、A~Z列都有数据;
3、标题行数为3行,即拆分后的工作簿保留三行标题内容;
4、拆分工作簿的文件名为对应A列中的序号,如1.xls、1000.xls、2000.xls、3000.xls
请高手帮忙!!!


---------------------------
下面的代码拆分后只有一个A列数据,如果A~Z列都有数据,如何将下面的代码修改一下呢?
  1. '如下Excel表,总共有120多行数据,以50行数据为一个工作表进行拆分
  2. Sub ZheFenSheet()
  3.     Dim r, c, i, WJhangshu, WJshu, bt As Long
  4.     r = Range("A" & Rows.Count).End(xlUp).Row
  5.     b = InputBox("请输入分表行数")
  6.     If IsNumeric(b) Then
  7.            WJhangshu = Int(b)
  8.         Else
  9.             MsgBox "输入错误", vbOKOnly, "错误"
  10.             End
  11.     End If
  12.     c = Cells(1, Columns.Count).End(xlToLeft).Column
  13.     bt = 3 '标题行数
  14.     'WJhangshu = 50 '每个文件的行数
  15.     WJshu = IIf(r - bt Mod WJhangshu, Int((r - bt) / WJhangshu), Int((r - bt) / WJhangshu) + 1)
  16.    
  17.     '------
  18.     Set fs = CreateObject("Scripting.FileSystemObject") '
  19.    
  20.     For i = 0 To WJshu
  21.         Workbooks.Add
  22.         Application.DisplayAlerts = False
  23.         ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Format(i + 1, String(Len(WJshu), 0)) & "." & fs.GetExtensionname(ThisWorkbook.FullName)   '扩展名
  24.         Application.DisplayAlerts = True
  25.         ThisWorkbook.ActiveSheet.Range("A1").Resize(bt, c).Copy ActiveSheet.Range("A1")
  26.         ThisWorkbook.ActiveSheet.Range("A" & bt + i * WJhangshu + 1).Resize(WJhangshu, c).Copy _
  27.         ActiveSheet.Range("A" & bt + 1)
  28.         ActiveWorkbook.Close True
  29.     Next
  30. End Sub
复制代码



最佳答案
2022-1-22 14:35
本帖最后由 hhxq001 于 2022-1-23 12:13 编辑

试一试我收藏的这个,能不能满足需要

1个表-拆分成多个独立的文件.zip (29.09 KB, 下载次数: 22)

工作表内容

工作表内容
发表于 2022-1-21 22:40 | 显示全部楼层
        ThisWorkbook.ActiveSheet.Range("A" & bt + i * WJhangshu + 1).Resize(WJhangshu, c).Copy _
        ActiveSheet.Range("A" & bt + 1)  这是指copy了A列的数据啊。要copy的是从A 列到最后一列的数据库,要用的是一个区域。
回复

使用道具 举报

发表于 2022-1-22 14:35 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hhxq001 于 2022-1-23 12:13 编辑

试一试我收藏的这个,能不能满足需要

1个表-拆分成多个独立的文件.zip (29.09 KB, 下载次数: 22)
回复

使用道具 举报

 楼主| 发表于 2022-1-22 20:21 | 显示全部楼层
hhxq001 发表于 2022-1-22 14:35
试一试我收藏的这个,能不能满座要求

您的收藏正是我所需要的宝贝,非常感谢!
回复

使用道具 举报

发表于 2022-1-23 12:13 | 显示全部楼层
cdc811 发表于 2022-1-22 20:21
您的收藏正是我所需要的宝贝,非常感谢!

也是论坛里找的,忘了链接地址。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 07:21 , Processed in 0.361001 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表