靖西网(无图版) -> 电脑 ->正文 登录 -> 注册 ->

xls多文件合并成多工作表

西网服务生 2022-04-07 22:55

多个独立的excel文件合并到一个excel文件的多个工作表Sheet中
步骤:
1、打开OFFice EXCEL
2、右键工作表--->查看代码
3、粘贴本VB代码,点击运行
4、弹出窗口选择要合并的所有文件
5、保存成新文件

  1. 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




查看完整版本:
[-- xls多文件合并成多工作表 --]
回复主题 -> 发表主题


jingxi.net @ 2014