下面我们就来看看如何用VBA来实现拆分工作。

首先,在EXCEL里面插入一个模块,代码如下:第二,在EXCEL工作表里面插入一个按钮控件,用于调用并执行以上模块。

Sub copybat()Dim i, j, k, m, r As IntegerDim n, total_data As LongDim path As StringDim title_area, data_column, data_areas As RangeSet title_area = Application.InputBox(prompt:="请用鼠标选择表头及表标题所在区域", title:="选择", Type:=8) '选取表头区域Set data_column = Application.InputBox(prompt:="请鼠标选择需要拆分数据的开始行区域", title:="选择", Type:=8) '选取拆分起始处m = data_column.Row      '获取分割开始行所在区域行号r = data_column.Column   '获取分割开始行所在区域列号j = data_column.Columns.Count   '获取分割开始行区域列数i = Application.InputBox(prompt:="请输入每次分割数据条目数", title:="选择")'获取需要分割的数据总条数。这里,可以用两种办法获取到数据区域的尾部行号'第一种,使用传统的:End(xlDown).Row,优点是速度快,缺点是有空白行时会出错'第二种,使用查找方式find,优点是基本不会出错,缺点是条数较多时候可能会慢一点'total_data = Cells(data_column(1, 1)).End(xlDown).Row - m + 1 total_data= Cells.Find("*", LookIn:=xlFormulas, SearchDirection:=xlPrevious).Row- m + 1   If MsgBox("本次分割文件数据总数为:" & total_data & "条,将会被分割成" & WorksheetFunction.RoundUp(total_data / i, 0) & "个文件," _& "点击“确定”开始分割,点击“取消”返回", vbOKCancel, "确认") = vbOK Thenfilename = Application.InputBox(prompt:="请输入分割后的文件主名,默认为“分割文件”", title:="选择", Default:="分割文件") With Application.FileDialog(msoFileDialogFolderPicker)  '获取分割后的文件存储路径If .Show = False Then Exit Subpath = .SelectedItems(1)&"\"   '加入"\",否则,文件会被存储到选定路径的上一层End WithApplication.ScreenUpdating = Falsek = 0   '第几次分割输出,用于标识分割文件次数For n = m To total_data Step i   '从开始分割的行往下计数Set data_areas = Range(Cells(n, r), Cells(n + i - 1, j))   '设置每次循环体内的分割数据主体Application.Union(title_area, data_areas).Select           '把表头区域以及本次循环体内的数据区域进行合并Selection.CopyWorkbooks.AddSelection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _, SkipBlanks:=False, Transpose:=False      '特殊粘贴:包含源格式的粘贴,以便保持所有格式一致k = k + 1ActiveWorkbook.SaveAs filename:=path & filename & "_" & k & ".xlsx", FileFormat:= _xlOpenXMLWorkbook, CreateBackup:=False      '按照既有的文件名、路径、循环次数合并起来存储文件ActiveWindow.CloseNext nMsgBox "文件分割完毕!", vbDefaultButton1, "提示"End IfApplication.ScreenUpdating = True
End Sub

第二,在EXCEL工作表里面插入一个按钮控件,用于调用并执行以上模块。 随便截个图然后右键关联宏就可以,另外宏可以不用保存系统自己保存。

转载之如何快速的将EXCEL表格数据拆分成多个文件? - 知乎

如何快速的将EXCEL表格数据拆分成多个文件?相关推荐

  1. 如何快速的将EXCEL表格数据拆分成多个文件

    介绍 前不久好几位朋友都问到,如何将一个EXCEL文件里面很多条数据拆分成多个文件,比如一个EXCEL表里面有90万行数据,需要按照每1万行拆分成一个文件,也就是需要将这表里面的90万行数据拆分到90 ...

  2. 零基础教程-如何快速将EXCEL表格数据拆分成多个文件

    工具:wps 1.首先一般人都是没有安装VBA宏插件的,此时我们就需要先下载并安装一个wps VBA宏插件,安装成功后;(直接百度搜索下载并安装即可,网上很多,示例如下)安装插件成功后,需要关闭wps ...

  3. excel表格怎么拆分成多个表格?

    今天跟大家分享一下excel表格怎么拆分成多个表格? 1.打开演示文件如下图,我们想要将工作表拆分开成为多个独立的工作簿. 2.首先我们点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.然后我们 ...

  4. EXCEL表格-数据拆分及分列

    ❤关注我,不迷路❤ 点击进入EXCEL综合应用场景专栏 在使用EXCEL时往往会遇到需要拆分一个整体变成多列的情况,本文将介绍如何将一列完整的数据进行分列拆分. 例:请将如下表格拆分成姓名.性别.年龄 ...

  5. 计算机表格单元格合并,excel表格数据拆分和合并单元格-excel中如何将已经合并的单元格拆分,并将该单元格......

    Excel怎么把一个合并单元格的内容拆分为几个单元格... 要直接位置得到,则有俩种可能性 第一种,合元格是格得来的假合并单元格,单元格都有内容,直接解除合并即可 第二种,若确实是真实合并单元格,则需 ...

  6. excel表格怎么拆分

    今天跟大家分享一下excel表格怎么拆分 1.打开演示文件,要求将表格按照班级的不同拆分开. 2.首先我们点击下图选项 3.接着我们点击[汇总拆分]-[拆分工作表] 4.然后我们将[表头行数]设置为1 ...

  7. excel表格如何拆分数据

    今天跟大家分享一下excel表格如何拆分数据 1.打开演示文件,要求将表格快速按照月份拆分. 2.首先点击下图选项 3.选择[汇总拆分] 4.点击[拆分工作表] 5.将[表头行数]设置为1 6.最后点 ...

  8. 【csv文件转xml文件】Excel表格数据快速批量生成xml格式文件

    使用背景: 使用场景举例:数据集标签处理 有时候我们需要将固定格式的Excel表格文件(csv文件)转换为xml文件使用,例如我们在目标检测实验当中我们需要制作数据集Pascal VOC格式的标签文件 ...

  9. python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...

    Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...

最新文章

  1. python输入输出重定向_Python标准输出重定向
  2. rsync 相关参数
  3. 丑憨批的爬虫笔记5信息标记与提取
  4. java反射有什么用_java反射的作用知识点总结
  5. 课时66.颜色控制属性下(理解)
  6. 网上支付心案例payment
  7. Jzzhu and Sequences(CF-450B)
  8. 本地Vue前端请求本地Spring Boot跨域问题(CROS错误)
  9. 矩阵的逆、伪逆、左右逆,最小二乘,投影矩阵
  10. java extends原则_Java泛型extends及super区别实例解析
  11. Zlib压缩算法:LZ77、LZ78、霍夫曼编码、滑动窗口、Rabin-Karp算法、哈希链、I/O缓冲区
  12. 成立十个月,融资五个亿,创新奇智完成超4亿人民币A轮和A+轮融资
  13. mycat1.4.1小白用户入门(一)
  14. 分块矩阵求逆推导 + 矩阵反演公式由来
  15. ADT版本查看,This Android SDK requires Andr...ate ADT to the latest问题
  16. 区块链开发入门学习线路图
  17. Chinese NER Using Lattice LSTM 论文解读
  18. RocketMq之削峰
  19. 还在用generator生成xxx管理系统的CRUD代码?来看看我是怎么写的
  20. 骑士cms任意代码执行(CVE-2020-35339)

热门文章

  1. 推荐:mrbrand 谈 什么样的工作是好工作:什么工作工资最高?什么工作福利最好?什么工作休假时间最多?...
  2. 问题:jq中只有slideDown()和slideUp()或者slideToggle(),想要左右滑动怎么办
  3. 混凝土搅拌站管理系统
  4. linux感染十字符病毒,十字符病毒,杀不死的小强,一次云服务器沦陷实录
  5. 抖音合理安排DOU+投放,快速提升作品播放与互动,轻松上热门变现
  6. 人生最大的捷径,是用时间和生命读一流的书
  7. 北邮sakai10安装指南
  8. 联发科p60和骁龙710哪个好_一文读懂骁龙710/骁龙660/骁龙845/Helio P60的区别,联发科有苦说不出?-控制器/处理器-与非网...
  9. Android Studio 创建的app放到Android 源码下编译
  10. 2021昆山高级中学高考成绩查询,本科上线率惊人!昆山8所高中高考成绩公布