对应之前文章《Excel·VBA按列拆分工作表》,对Excel表格数据按照固定行数,将工作表拆分

工作表按行拆分为工作表

Sub 工作表按行拆分为工作表()'当前工作表(worksheet)按固定行数拆分为多个工作表,保存在当前工作簿(workbook)tm = Now()Set ws = Application.ActiveSheet  '当前工作表即为待拆分工作表
'--------------------参数填写:num_row,数字;title_row表头行数,数字,第1行为1向下递增title_row = 1  '表头行数,每个拆分后的sheet都保留num_row = 100  '拆分数据行数,按多少行数据进行拆分,不能完全拆分的,多余行数单独max_row = ActiveSheet.UsedRange.Rows.count'拆分sheet数量,向上取整sheet_count = WorksheetFunction.RoundUp((max_row - title_row) / num_row, 0)For i = 1 To sheet_count:Worksheets.Add(after:=Sheets(Sheets.count)).Name = "拆分表" & i  '最后添加新sheet,并命名With ActiveSheetws.Rows(1 & ":" & title_row).Copy  '本行复制表头,下行复制数据.Range("A1").PasteSpecial Paste:=xlPasteAll.Range("A1").PasteSpecial Paste:=xlPasteColumnWidthsws.Rows(num_row * (i - 1) + title_row + 1 & ":" & (num_row * i) + title_row).Copy .Range("A" & title_row + 1)End With'Exit For  '强制退出for循环,单次测试使用NextDebug.Print ("拆分完成,累计用时" & Format(Now() - tm, "hh:mm:ss"))  '耗时
End Sub

工作表按行拆分为工作薄

Sub 工作表按行拆分为工作薄()'当前工作表(worksheet)按固定行数拆分保存为多个工作簿(workbook),文件单独保存tm = Now()Application.Visible = False  '后台运行,不显示界面Application.DisplayAlerts = False  '不显示警告信息Set fso = CreateObject("Scripting.FileSystemObject")
'--------------------参数填写:num_row,数字;title_row表头行数,数字,第1行为1向下递增title_row = 1  '表头行数,每个拆分后的sheet都保留num_row = 100  '拆分数据行数,按多少行数据进行拆分,不能完全拆分的,多余行数单独Set ws = Application.ActiveSheet  '当前工作表即为待拆分工作表wb_path = Application.ActiveWorkbook.Path  '当前工作簿文件路径wb_name = Application.ActiveWorkbook.Name  '当前工作簿文件名和扩展名save_path = wb_path + "\拆分表"  '保存拆分后的表格保存路径max_row = ActiveSheet.UsedRange.Rows.count'拆分sheet数量,向上取整sheet_count = WorksheetFunction.RoundUp((max_row - title_row) / num_row, 0)If fso.FolderExists(save_path) ThenDebug.Print ("拆分文件保存路径已存在:" & save_path)Elsefso.CreateFolder (save_path)Debug.Print ("拆分文件保存路径已创建:" & save_path)End IfFor i = 1 To sheet_count:Workbooks.AddWith ActiveSheetws.Rows(1 & ":" & title_row).Copy  '本行复制表头,下行复制数据.Range("A1").PasteSpecial Paste:=xlPasteAll.Range("A1").PasteSpecial Paste:=xlPasteColumnWidthsws.Rows(num_row * (i - 1) + title_row + 1 & ":" & (num_row * i) + title_row).Copy .Range("A" & title_row + 1)End With'保存文件全名(文件路径、文件名、扩展名)save_file = save_path & "\" & fso.GetBaseName(wb_name) & "_拆分表" & i & "." & fso.GetExtensionName(wb_name)ActiveWorkbook.SaveAs filename:=save_fileActiveWorkbook.Close (False)'Exit For  '强制退出for循环,单次测试使用NextSet fso = Nothing  '释放内存Application.Visible = TrueApplication.DisplayAlerts = TrueDebug.Print ("工作表已拆分完成,累计用时" & Format(Now() - tm, "hh:mm:ss"))  '耗时End Sub

举例

原始数据

参数:表头行数title_row = 1、按每5行拆分num_row = 5
拆分为工作表


拆分为工作薄

Excel·VBA按行拆分工作表相关推荐

  1. Excel·VBA按列拆分工作表、工作簿

    改进<将excel按照某一列拆分成多个文件>,使代码更具通用性,可以实现将工作表拆分为工作表或工作簿 对Excel表格数据按照某列的值,将工作表拆分 目录 1,工作表按列拆分为工作表 2, ...

  2. ①隔若干行插入分页符②排签排版③按条件分页④按行拆分工作表

    ​​​​​​关于打印与分页的4个高级技巧 ①隔若干行插入分页符,相当于按规律手动分页 ②排签排版,相当于分栏打印 ③按条件分页,使一页中只支持一个类别的数据 ④按行数拆分工作表,从而使用每页都能打印顶 ...

  3. 【Excel VBA】批量拆分工作表为独立文件批量复制文件内容到总文件的工作表

    一.将一个工作簿中所有工作表单独保存为独立的文件 操作过程分三步:选中要复制的sheet,,复制(建立副本),保存后关闭新文件 Sub sheet2file()Dim sht As Worksheet ...

  4. Excel VBA:将多个工作表保存为新文件

    Sub 创建文件()'定义文本文件的名称 Dim file As String, arr, i'指定文本文件的名称 file = ThisWorkbook.Path & "\需要复制 ...

  5. Excel VBA 将当前活动工作表中的图片保存到以工作表名称命名的文件夹内

    Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内 Dim sn, path As String, j% sn = ActiveSheet.Name path ...

  6. excel快速拆分工作表

    今天跟大家分享一下excel快速拆分工作表 1.打开演示文件,要求将表格拆分开. 2.点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.将[表头行数]设置为4 5.最后点击[确定]即可完成 6. ...

  7. 个人永久性免费-Excel催化剂功能第23波-非同一般地批量拆分工作表

    工作薄的合并,许多Excel插件已有提供,Excel催化剂也提供了最佳的解决方案,另外还有工作薄的拆分和工作表的拆分,同样也是各大插件必备功能. 至于工作薄拆分,那是伪需求,Excel催化剂永远只会带 ...

  8. Excel如何将一张工作表拆分成多个工作表Sheet?

    工作中我们经常会遇到这种情况,所有的数据都整合在一个Excel表格里面了,现在想按需求分别拆分成多个工作表,有什么好办法吗?利用透视表,我们就可以轻松解决. 如下图所示,从销售一部到销售七部的所有业绩 ...

  9. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿

    1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...

最新文章

  1. 关于输入输出流的心得
  2. 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】
  3. java 手动线程调度_Java Thread 多线程 操作线程
  4. JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
  5. python私人兼职_python能做什么副业#下班后有哪些兼职副业
  6. HTTP调试工具:Fiddler 介绍二
  7. python-使用云图库实现文字填画的效果-0225
  8. mysql 什么时候用单列索引?什么使用用联合索引?
  9. [C++基础]039_C++异常处理初级出门+中级进阶
  10. lnmp+lamp编译后,编译参数查看
  11. 强大的负载均衡+静态文件WEB服务器nginx实战
  12. 操作日志和系统日志分类记录
  13. linux vi命令怎么使用方法,linux vi命令的使用方法
  14. 美敦力PB560呼吸机设计图纸 源代码分享
  15. 加速计(重力感应功能)的使用
  16. 数据治理之IT系统存量信息梳理
  17. Kettle之Excel输入的简单使用
  18. Springboot访问静态页面
  19. Part Ⅴ Entertainment 娱乐活动??
  20. HIVE常用参数配置

热门文章

  1. java实现十进制数转换成二进制数
  2. win10修改系统字体(替换OneNote中Calibri字体)
  3. Golang 对接Google翻译
  4. 转载:http://www.zzslxx.com/wmy/jy/Chap02/2.1.1.1.htm
  5. crackme.chm之Chafe1
  6. OpenLayers实战(四)控制图标显示隐藏
  7. Python免杀脚本生成.exe(过火绒过联想没过360)
  8. 随机密码生成(Python编程)
  9. defcon-ctf qualifer crypto writeup
  10. 小爱同学语音API(不需要小米账号)