您现在的位置是:主页 > VBA >

excel 合并工作表的方法,用VBA代码实现合并工作表

发布时间:2023-10-29 17:14:54所属栏目:VBA 已帮助编辑作者:Excel自学教程

下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张数的工作表。比如有的文件只有一张工作,有的文件是多张工作表。

  现在的问题,如何将这些多个文件实现合并工作表。将这些所有工作表全部合并到同一张工作表。

合并工作表

  一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。

  合并工作表操作步骤:

  新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有excel文件,执行合并工作表。

excel合并工作表

Sub 合并工作簿()
    Dim FilesToOpen, wb As Workbook, sht As Worksheet
    Dim x As Integer

    On Error GoTo ErrHandler
    Application.ScreenUpdating = False

    FilesToOpen = Application.GetOpenFilename _
      (FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", _
      MultiSelect:=True, Title:="Files to Merge")

    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "No Files were selected"
        GoTo ExitHandler
    End If

    x = 1
    While x <= UBound(FilesToOpen)
        If FilesToOpen(x) <> ThisWorkbook.FullName Then
            Set wb = Workbooks.Open(Filename:=FilesToOpen(x))
            For Each sht In wb.Sheets
                sht.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
            Next
            wb.Close
        End If
        x = x + 1
    Wend

ExitHandler:
    Application.ScreenUpdating = True
    Exit Sub

ErrHandler:
    MsgBox Err.Description
    Resume ExitHandler
End Sub

  说明:上面代码是合并xlsx文件,如果是合并excel2003的文件,需要将:FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx",xlsx改为.xls。

     以上就是excel自学教程为您提供excel 合并工作表的方法,用VBA代码实现合并工作表的解读,本文章链接: http://www.5enet.cn/Excel_VBA/78815.html 欢迎分享转载,更多相关资讯请前往VBA

站长名片

姓名:曾工

职业:IT运维

现居:深圳罗湖宝能大厦

电话:15768114603

扫码关注

  • 专注IT行业,10年IT行业经验
  • 微信