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

一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。合并工作表操作步骤:新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有excel文件,执行合并工作表。Sub 合并工作簿()    Dim FilesToOpen, wb ...
excel合并工作表的方法用VBA代码实现合并工作表
下图所示:一个文件夹下面有多个excel工作薄,每个工作薄文件下面有不固定张数的工作表。比如有的文件只有一张工作,有的文件是多张工作表。
  现在的问题,如何将这些多个文件实现合并工作表。将这些所有工作表全部合并到同一张工作表。

  一般的做法,通过“移动或复制”实现合并工作表。要高效,可以使用VBA代码来实现合并工作表。
  合并工作表操作步骤:
  新建一个excel文件,按ALT+F11,打开VBE编辑器,复制下面的代码,然后运行,选择文件夹下面的所有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 ExitHandlerEnd Sub
  说明:上面代码是合并xlsx文件,如果是合并excel2003的文件,需要将:FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx",xlsx改为.xls。
2024-05-10
mengvlog 阅读 132 次 更新于 2025-10-29 17:14:41 我来答关注问题0
檬味博客在线解答立即免费咨询

代码相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部