当前位置:萝卜系统下载站 > 办公软件教程 > 详细页面

excel 合并工作表的办法,用VBA代码完成合并工作表

excel 合并工作表的办法,用VBA代码完成合并工作表

更新时间:2024-01-21 文章作者:未知 信息来源:网络 阅读次数:

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使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 <=>
??????? 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整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html