Excel·VBA按行拆分工作表
对应之前文章《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按行拆分工作表相关推荐
- Excel·VBA按列拆分工作表、工作簿
改进<将excel按照某一列拆分成多个文件>,使代码更具通用性,可以实现将工作表拆分为工作表或工作簿 对Excel表格数据按照某列的值,将工作表拆分 目录 1,工作表按列拆分为工作表 2, ...
- ①隔若干行插入分页符②排签排版③按条件分页④按行拆分工作表
关于打印与分页的4个高级技巧 ①隔若干行插入分页符,相当于按规律手动分页 ②排签排版,相当于分栏打印 ③按条件分页,使一页中只支持一个类别的数据 ④按行数拆分工作表,从而使用每页都能打印顶 ...
- 【Excel VBA】批量拆分工作表为独立文件批量复制文件内容到总文件的工作表
一.将一个工作簿中所有工作表单独保存为独立的文件 操作过程分三步:选中要复制的sheet,,复制(建立副本),保存后关闭新文件 Sub sheet2file()Dim sht As Worksheet ...
- Excel VBA:将多个工作表保存为新文件
Sub 创建文件()'定义文本文件的名称 Dim file As String, arr, i'指定文本文件的名称 file = ThisWorkbook.Path & "\需要复制 ...
- Excel VBA 将当前活动工作表中的图片保存到以工作表名称命名的文件夹内
Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内 Dim sn, path As String, j% sn = ActiveSheet.Name path ...
- excel快速拆分工作表
今天跟大家分享一下excel快速拆分工作表 1.打开演示文件,要求将表格拆分开. 2.点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.将[表头行数]设置为4 5.最后点击[确定]即可完成 6. ...
- 个人永久性免费-Excel催化剂功能第23波-非同一般地批量拆分工作表
工作薄的合并,许多Excel插件已有提供,Excel催化剂也提供了最佳的解决方案,另外还有工作薄的拆分和工作表的拆分,同样也是各大插件必备功能. 至于工作薄拆分,那是伪需求,Excel催化剂永远只会带 ...
- Excel如何将一张工作表拆分成多个工作表Sheet?
工作中我们经常会遇到这种情况,所有的数据都整合在一个Excel表格里面了,现在想按需求分别拆分成多个工作表,有什么好办法吗?利用透视表,我们就可以轻松解决. 如下图所示,从销售一部到销售七部的所有业绩 ...
- VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿
1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...
最新文章
- 关于输入输出流的心得
- 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】
- java 手动线程调度_Java Thread 多线程 操作线程
- JZOJ 5163. 【NOIP2017模拟6.25】PS的烦恼
- python私人兼职_python能做什么副业#下班后有哪些兼职副业
- HTTP调试工具:Fiddler 介绍二
- python-使用云图库实现文字填画的效果-0225
- mysql 什么时候用单列索引?什么使用用联合索引?
- [C++基础]039_C++异常处理初级出门+中级进阶
- lnmp+lamp编译后,编译参数查看
- 强大的负载均衡+静态文件WEB服务器nginx实战
- 操作日志和系统日志分类记录
- linux vi命令怎么使用方法,linux vi命令的使用方法
- 美敦力PB560呼吸机设计图纸 源代码分享
- 加速计(重力感应功能)的使用
- 数据治理之IT系统存量信息梳理
- Kettle之Excel输入的简单使用
- Springboot访问静态页面
- Part Ⅴ Entertainment 娱乐活动??
- HIVE常用参数配置
热门文章
- java实现十进制数转换成二进制数
- win10修改系统字体(替换OneNote中Calibri字体)
- Golang 对接Google翻译
- 转载:http://www.zzslxx.com/wmy/jy/Chap02/2.1.1.1.htm
- crackme.chm之Chafe1
- OpenLayers实战(四)控制图标显示隐藏
- Python免杀脚本生成.exe(过火绒过联想没过360)
- 随机密码生成(Python编程)
- defcon-ctf qualifer crypto writeup
- 小爱同学语音API(不需要小米账号)