首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

前不久好几位朋友都问到,如何将一个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 = False

End Sub

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

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

文件夹下生成的文件图例

分割的第小部分

分割的第2小部分

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190907A0GS9J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券