37'

User info

Welcome, Guest! Please login or register.


You are here » 37' » 职场技巧 » excel技巧 » 多个excel数据合并到一个excel中


多个excel数据合并到一个excel中

Posts 1 to 3 of 3

1

把所有工作表放在同一文件夹下,新建一个excel总表,然后在sheet1标签上右键,查看代码,复制下面代码粘贴进去,运行代码即可合并:

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

https://picshack.net/ib/1YN0XCVKUO.png
或者如下代码:

Sub Macro1()
Dim MyPath$, MyName$, sh As Worksheet, sht As Worksheet, m&
Set sh = ActiveSheet
MyPath = ThisWorkbook.Path & "\"
MyName = Dir(MyPath & "*.xls")
Application.ScreenUpdating = False
Cells.ClearContents
Do While MyName <> ""
If MyName <> ThisWorkbook.Name Then
With GetObject(MyPath & MyName)
For Each sht In .Sheets
If IsSheetEmpty = IsEmpty(sht.UsedRange) Then
m = m + 1
If m = 1 Then
sht.[a1].CurrentRegion.Copy sh.[a1]
Else
sht.[a1].CurrentRegion.Offset(1).Copy sh.[a65536].End(xlUp).Offset(1)
End If
End If
Next
Close False
End With
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
End Sub

0

2

office2016以上版本的excel,可以把要合并的文件放在同一文件夹下,然后选择菜单栏【数据】-【新建查询】-【从文件】-【从文件夹】,在打开的对话框中点击【浏览】,找到存放表格的文件夹后单击【确定】。
之后会弹出一个界面,展示了选定的文件夹中包含的所有工作簿,单击右下角的的【组合】-【合并和编辑】。
在打开的【合并文件】对话框中,选择要提取的工作表,单击【确定】。
在打开的 Power Query编辑器中我们已经可以看到合并后的效果,单击【关闭并上载】,这样就完成了多个工作簿单张工作表的合并。

https://picshack.net/ib/089cLLMjOw.png
参看 :https://www.360doc.com/content/18/1123/06/7296858_796648213.shtml

0

3

把需要合并的文件均另存为修改后缀为 csv。在文件所在路径,按【shift】+右键,点击【此处打开命令窗口】,输入:
copy *.csv out.csv, 即可把该路径下所有的csv文件合并到out.csv文件中。

0


You are here » 37' » 职场技巧 » excel技巧 » 多个excel数据合并到一个excel中