当前位置:趣知科普网>职场理财>职场就业>

如何快速把多个excel表合并成一个excel表

职场就业 阅读(2.47W)

很多朋友会遇到这样的问题,就是很有很多页的数据,少的有几十页,多的可能有几百页,然后需要合并到一个页面做数据分析,如果一页页的复制粘贴的话,就比较麻烦。下面我就介绍一种利用excel的宏计算来解决这个问题,有需要的朋友可以参考一下哦,希望能对大家有所帮助。

操作方法

(01)在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。

如何快速把多个excel表合并成一个excel表

(02)按Alt+F11进入VBA代码编辑和调试界面。

如何快速把多个excel表合并成一个excel表 第2张

(03)在工具栏中找到插入,点击插入,选择模块。

如何快速把多个excel表合并成一个excel表 第3张

(04)将下述代码粘贴到模块空白处:复制代码代码如下:Sub CombineSheetsCells()Dim wsNewWorksheet As WorksheetDim cel As RangeDim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As VariantDim TitleRow, TitleColumn As RangeDim Num As IntegerDim DataRows As LongDataRows = 1Dim TitleArr()Dim ChoiceDim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$Dim n, in = 1i = layAlerts = FalseWorksheets("合并汇总表")teSet wsNewWorksheet = (, after:=Worksheets(t)) = "合并汇总表"MyFileName = penFilename("Excel工作薄 (**),**")If MyFileName = "False" ThenMsgBox "没有选择文件!请重新选择一个被合并文件!", vbInformation, "取消" Filename:=MyFileNameNum = tMyName = Set DataSource = tBox(prompt:="请选择要合并的数据区域:", Type:=8)AddressAll = e(AddressAll)ctSourceDataRows = tSourceDataColumns = enUpdating = leEvents = FalseFor i = 1 To ts(i)ts(i)e(AddressAll)ActiveSheetName = Workbooks()ts("合并汇总表")ts("合并汇总表")e("A" & DataRows)e = ts("合并汇总表")e(Cells(DataRows, 2), Cells(DataRows, 2))eSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _SkipBlanks:=False, Transpose:=eSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _False, Transpose:=eSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseDataRows = DataRows + SourceDataRowsWorkbooks(MyName)vateNext enUpdating = leEvents = TrueEnd IfWorkbooks(MyName)eEnd Sub

如何快速把多个excel表合并成一个excel表 第4张

(05)找到工具栏的“开发工具”,点击“插入”,找到表单控件里的窗体控件,在“首页”工作表中按下图示范插入一个窗体控件并指定宏为插入的代码名称。

如何快速把多个excel表合并成一个excel表 第5张

(06)点击“首页”工作表中插入的按钮,根据提示,浏览到原始数据工作簿。

如何快速把多个excel表合并成一个excel表 第6张

(07)用鼠标选择要合并的数据范围,点击确定按钮,合成成功。

如何快速把多个excel表合并成一个excel表 第7张