如何合并多个excel文件到一个excel文件中且要放在不同的工作表内

如题所述

一、整体简介:我理解你的需求应该是:用一个excel工作簿(结果工作簿.xlsm)来获取其它工作簿中的工作表内容,将其保存至当前工作簿中(分不同工作表保存)。

如图:

二、所需工具/原料:微软office2007(但要启用宏)

如图:

三、方法:新建一个空excel文档,写入宏代码,关联宏代码,执行宏=结果。

四、步骤:

1、新建一个空白的excel,并打开

2、切换到【视图】-【宏】-【查看宏】。如图:

3、输入“宏名”-点【创建】按钮。如图:

4、输入宏代码,并保存。如图:

代码如下:

Sub 复制指定工作簿的全部工作表3()

Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xlsx),*.xlsx", MultiSelect:=True, Title:="2015")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub


errhadler:
MsgBox Err.Description
End Sub

5定义快速按钮用于执行宏。如图:

6完善第5步骤:“从下列位置选择命令-【宏】”-双击自定义的宏,添加至右边-修改宏属性(图标,名称等),图标、名称随便自定-然后一路确定下来-最后保存这个excel文件。如图:

7、打开刚刚新建的带宏的excel文件,点击宏的执行按钮,就能得到你想要的结果。如图:

五、好人做到底,最后给你附件

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-30

具体步骤如下:

操作方法

1、首先我们需要把所有需要合并的excel文件放到一个文件夹中,并且新建一个空白的excel文件。

2、然后打开这个新建的excel文件,右键点击sheet1选择查看代码。

3、然后会出现如下的界面。

4、然后把如下代码复制粘贴到代码栏。

Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub

5、接下来就是运行代码,点击运行→运行子过程/用户窗体。

6、合并成功!合并完成后,各自的文件会自动分成各自的excel文件标签。

本回答被网友采纳
第2个回答  2019-09-04

Office Excel 2016

合并不同文件的Excel表

1=>打开全部需要合并的excel文件以及结果文件,也可以新建一个excel文件用来保存合并结果

2=>右键需合并文件中的表sheet,点击移动或复制,移至结果文件中即可

第3个回答  2016-07-25
1、把你要合并的excel表格放在同一个文件夹里面,在下面新建一个新的表格->打开->在“Sheet1”右键,点击“查看代码”->
2、输入以下代码:
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub

3、输好后找到工具栏,下拉有一个“运行子过程/用户窗体”。保存,就可以了。
第4个回答  2016-07-21
打开需合并的excel,右击sheet名称,选择 移动或复制工作表 选择需要到的excel中
如果是同一个excel多个sheet,可以使用shift键,选中第一个,再按住shift按最后一个sheet,右击sheet名称移动复制本回答被提问者采纳
相似回答