打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何将1个Excel工作簿的数据拆分成若干个工作簿

有时候一个Excel的数据会很多,需要拆分成若干个工作簿,比如把1个40万行的excel,按每个工作簿40000行,拆成10个;思路是先把原始文件复制10个,然后逐个打开,按顺序把多余的删除:

另一种方法是先分拆成多个工作表,然后再将工作表拆成独立的工作簿文件

Sub 拆分()

Workbooks.Open (ThisWorkbook.Path & '/原始.xlsx')  '打开原始文件

r = 1 '标题行有几行,一般就是数字1

b = 40000            '拆分后每个工作簿有多少数据

a = ActiveWorkbook.Worksheets(1).UsedRange.Rows.Count '原始文件有几行

ActiveWorkbook.Close

l = Int(a / b) + 1      'l表示可以拆分成几个文件

For i = 1 To l

FileCopy ThisWorkbook.Path & '/原始.xlsx', ThisWorkbook.Path & '/' & i & '.xlsx'

Next i

'把文件复制成l份

Application.ScreenUpdating = False

fn = ThisWorkbook.Path & '/' & 1 & '.xlsx'    '将第1个要汇总的工作簿名称赋给变量fn

Workbooks.Open (fn)

With ActiveWorkbook.Worksheets(1)

    Rows(r + b + 1 & ':' & 1048576).Select

    Selection.Delete Shift:=xlUp

End With

ActiveWorkbook.Close savechanges:=True

'第1个文件比较特殊

For i = 2 To l

    fn = ThisWorkbook.Path & '/' & i & '.xlsx'

    Workbooks.Open (fn)

    With ActiveWorkbook.Worksheets(1)

        Rows(r + 1 & ':' & r + (i - 1) * b).Select

        Selection.Delete Shift:=xlUp

        Rows(r + b + 1 & ':' & 1048576).Select

        Selection.Delete Shift:=xlUp

    End With

    ActiveWorkbook.Close savechanges:=True

Next i

Application.ScreenUpdating = True

'从第2个文件开始把不需要的都删除

End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel 工作簿中多个工作表如何快速分解成多个文件
Excel VBA解读(87):关闭工作簿 —— Close方法
VBA入门之实战
VBA:如何把EXCEL导出为txt ?
用VBA打开、关闭、新建、保存和删除Excel工作簿 | VBA实例教程
用VB操作excel方法汇总
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服