前不久有几个朋友问如何将一个EXCEL文件中的大量数据拆分成多个文件。例如,一个EXCEL表中有90万行数据,每10,000行需要拆分成一个文件,也就是说,这个表中的90万行数据需要拆分成90个文件。如果这是手工拆分,工作量太大。所以,我想分享一下这个过程。

我们来看看如何利用VBA实现分裂。

首先,在EXCEL中插入一个模块,代码如下:

Sub copybat()Dim n As IntegerDim i As IntegerDim k As IntegerDim path As StringDim filename As Stringpath = "c:拆分测试" '预定义的存储路径filename = "分割文件" '预定义的文件名Application.ScreenUpdating = Falsei = 10 '分页数据条目数k = 0 '循环执行次数,用于标识文件顺序For n = 1 To Cells(1, 1).End(xlDown).Row Step i '开始循环到数据表底部,步长为分页条目数Range("A1:D1,A" & n + 1 & ":D" & n + i).Select '每次均选择复制固定的表头和本次循环内的数据行Selection.CopyWorkbooks.Add '新建工作簿Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False '特殊粘贴:只粘贴数值k = k + 1ActiveWorkbook.SaveAs filename:=path & filename & k & ".xlsx", FileFormat:= _xlOpenXMLWorkbook, CreateBackup:=False '将文件按命名规则另存至指定位置ActiveWindow.Close '关闭已经生成的文件Next nMsgBox "分割完毕!", vbDefaultButton1, "提示"Application.ScreenUpdating = trueEnd Sub

第二,在EXCEL工作表中插入一个按钮,调用并执行上述模块。

第三,点击按钮执行代码。最终结果如下:

文件夹下生成的文件图例文件夹下生成文件的图例

分割的第1小部分分部的第一个小部分

分割的第2小部分隔板的第二个小部分

以上是一个大概的过程,其实在这个基础上可以实现更复杂的逻辑,你可以独立发挥。

1.《excel表格内容拆分 如何快速的将EXCEL表格数据拆分成多个文件?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《excel表格内容拆分 如何快速的将EXCEL表格数据拆分成多个文件?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1186726.html