如何合并多个excel文件到一个excel文件中且要放在不同的工作表内
答案:6 悬赏:20
解决时间 2021-01-21 14:55
- 提问者网友:無理詩人
- 2021-01-20 17:15
如何合并多个excel文件到一个excel文件中且要放在不同的工作表内
最佳答案
- 二级知识专家网友:孤老序
- 2021-01-20 18:35
具体步骤如下:
操作方法
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文件标签。
操作方法
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文件标签。
全部回答
- 1楼网友:封刀令
- 2021-01-21 00:46
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、输好后找到工具栏,下拉有一个“运行子过程/用户窗体”。保存,就可以了。
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、输好后找到工具栏,下拉有一个“运行子过程/用户窗体”。保存,就可以了。
- 2楼网友:不想翻身的咸鱼
- 2021-01-20 23:41
打开该新Excel,按Alt+F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = ThisWorkbook.Path & "\"
ChDrive Left(MyDir, 1) 'find all the excel files
ChDir MyDir
Match = Dir$("")
Do
If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
Workbooks.Open Match, 0 'open
ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet
Windows(Match).Activate
ActiveWindow.Close
End If
Match = Dir$
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub
在此界面直接按F5运行此宏,完成。
Sub Find()
Application.ScreenUpdating = False
Dim MyDir As String
MyDir = ThisWorkbook.Path & "\"
ChDrive Left(MyDir, 1) 'find all the excel files
ChDir MyDir
Match = Dir$("")
Do
If Not LCase(Match) = LCase(ThisWorkbook.Name) Then
Workbooks.Open Match, 0 'open
ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1) 'copy sheet
Windows(Match).Activate
ActiveWindow.Close
End If
Match = Dir$
Loop Until Len(Match) = 0
Application.ScreenUpdating = True
End Sub
在此界面直接按F5运行此宏,完成。
- 3楼网友:由着我着迷
- 2021-01-20 22:06
点右健后就只选中当前指的一个,其余为没选中状态,所以形不通,只能复制一个。
- 4楼网友:夜风逐马
- 2021-01-20 20:40
一、整体简介:我理解你的需求应该是:用一个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文件,点击宏的执行按钮,就能得到你想要的结果。如图:
五、好人做到底,最后给你附件
- 5楼网友:孤老序
- 2021-01-20 19:26
打开需合并的excel,右击sheet名称,选择 移动或复制工作表 选择需要到的excel中
如果是同一个excel多个sheet,可以使用shift键,选中第一个,再按住shift按最后一个sheet,右击sheet名称移动复制
如果是同一个excel多个sheet,可以使用shift键,选中第一个,再按住shift按最后一个sheet,右击sheet名称移动复制
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯