如何将一个EXCEL文件里面很多条数据拆分成多个文件,比如一个EXCEL表里面有90万行数据,需要按照每1万行拆分成一个文件,也就是需要将这表里面的90万行数据拆分到90个文件里面。这个如果手工拆分,那工作量实在太大了。于是,我就想把这个过程拿出来分享一下。实际上这也是大数据处理过程中会涉及到的一个问题——数据分框。

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

第一,在EXCEL里面插入一个模块,代码如下:

Sub copybat()

Dim n As Integer

Dim i As Integer

Dim k As Integer

Dim path As String

Dim filename As String

path = "c:拆分测试" ‘预定义的存储路径

filename = "分割文件" ‘预定义的文件名

Application.ScreenUpdating = False

i = 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.Copy

Workbooks.Add ‘新建工作簿

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False ‘特殊粘贴:只粘贴数值

k = k + 1

ActiveWorkbook.SaveAs filename:=path & filename & k & ".xlsx", FileFormat:= _

xlOpenXMLWorkbook, CreateBackup:=False ‘将文件按命名规则另存至指定位置

ActiveWindow.Close ‘关闭已经生成的文件

Next n

MsgBox "分割完毕!", vbDefaultButton1, "提示"

Application.ScreenUpdating = true

End Sub

第二,在EXCEL工作表里面插入一个按钮,用于调用执行该以上模块。

如何快速的将Office Excel表格数据拆分成多个文件?

 

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

如何快速的将Office Excel表格数据拆分成多个文件?

 

如何快速的将Office Excel表格数据拆分成多个文件?

文件夹下生成的文件图例

如何快速的将Office Excel表格数据拆分成多个文件?

分割的第1小部分

如何快速的将Office Excel表格数据拆分成多个文件?

分割的第2小部分

以上,是一个大体的过程,实际上还可以在此基础上实现更加复杂的逻辑,这就又各位独立发挥了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注