多个excel合并成一个excel

复制代码
'功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称

Sub Books2Sheets()

    '定义对话框变量

    Dim fd As FileDialog

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    '新建一个工作簿

    Dim newwb As Workbook

    Set newwb = Workbooks.Add

    With fd

        If .Show = -1 Then

            '定义单个文件变量

            Dim vrtSelectedItem As Variant

            '定义循环变量

            Dim i As Integer

            i = 1

            '开始文件检索

            For Each vrtSelectedItem In .SelectedItems

            '打开被合并工作簿

            Dim tempwb As Workbook

            Set tempwb = Workbooks.Open(vrtSelectedItem)

            '复制工作表

            tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)

            '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx

            newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")

            '关闭被合并工作簿

            tempwb.Close SaveChanges:=False

            i = i + 1

            Next vrtSelectedItem

        End If

    End With

    Set fd = Nothing

 

End Sub
复制代码

参考来源:多个excel文件合并成一个excel的多个sheet表-百度经验 (baidu.com)

posted @   记录——去繁就简  阅读(155)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示