将多个Excel文件合并为一个(实测有效)

将需要合并的Excel文件放在一个文件夹中,新建一个空白的Excel,然后按F11+Alt,打开 Visual Basic Editor。右击左侧栏中的 ThisWorkbook 并选择插入>模块。

将下列代码插入到Code window中,然后点击运行,就可以将多个Excel合并到一个Excel中的多个sheet中。

Sub MergeExcelFiles()
    Dim fnameList, fnameCurFile As Variant
    Dim countFiles, countSheets As Integer
    Dim wksCurSheet As Worksheet
    Dim wbkCurBook, wbkSrcBook As Workbook


 
    fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
 
    If (vbBoolean <> VarType(fnameList)) Then
 
        If (UBound(fnameList) > 0) Then
            countFiles = 0
            countSheets = 0
 
            Application.ScreenUpdating = False
            Application.Calculation = xlCalculationManual
 
            Set wbkCurBook = ActiveWorkbook
 
            For Each fnameCurFile In fnameList
                countFiles = countFiles + 1
 
                Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
 
                For Each wksCurSheet In wbkSrcBook.Sheets
                    countSheets = countSheets + 1
                    wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
                Next
 
                wbkSrcBook.Close SaveChanges:=False
 
            Next
 
            Application.ScreenUpdating = True
            Application.Calculation = xlCalculationAutomatic
 
            MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
        End If
 
    Else
        MsgBox "No files selected", Title:="Merge Excel files"
    End If
End Sub

在此基础之上,创建一个新的excel,点击功能区中的“数据”>获取数据>自文件>从工作簿,选中上一步整合得到的Excel,选中文件夹而不是下面的任意一个sheet,点击编辑
在这里插入图片描述
在功能区中点击添加列>自定义列,在公式中输入Table.PromoteHeaders([Data])
点击确定。
在这里插入图片描述
选中ABCname刚才添加的列,然后删除其他列
在这里插入图片描述
点击自定义框右侧的标志,加载数据然后点击确定。
在这里插入图片描述
最后点击功能区的关闭并上载,这样数据就已经导入到一个Excel的一个sheet当中了。

如果文章对你有用的话就给我点个赞吧~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值