分享

合并多个工作簿

 L罗乐 2018-01-31


Sub汇总()

Application.ScreenUpdating= False

Application.DisplayAlerts= False

 

Dim i As Long

Dim mySht As Worksheet

Dim fname As String

i= 1

 

'生成查找EXCEL的目录

fname= Dir(ThisWorkbook.Path & '\*.xlsx')

 

'在目录中循环

Do While fname <> ''

    If fname <> ThisWorkbook.Name Then  '如果不是当前的汇总工作簿

        Workbooks.Open ThisWorkbook.Path &'\' & fname '打开工作簿

        '将打开工作簿的第一个sheet复制到当前工作簿的sheeti

Workbooks(fname).Sheets(1).CopyAfter:=ThisWorkbook.Sheets(i)

 '将新增的sheet命名为打开的工作簿名

        ThisWorkbook.Sheets(i 1).Name =Split(fname, '.')(0)

        '关闭打开的工作簿,不保存

        Workbooks(fname).Close savechanges:=False

    End If

    i = i 1

    fname = Dir

Loop

 

'删除空白的sheet

For Each mySht In ThisWorkbook.Sheets

If IsEmpty(mySht.UsedRange) Then

或者 IfApplication.WorksheetFunction.CountA(mySht.cells) = 0 then

    mySht.Delete

    End If

Next

 

Application.DisplayAlerts= True

Application.ScreenUpdating= True

End Sub



----------------------------------------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多