EXCEL多文件合并

2020-05-21  本文已影响0人  萝卜头科技

1、利用VBA
可以通过更改excel代码来合并多个文件。

详细步骤:

1)、新建一个文件夹。
2)、将要合并的表格放到这个文件夹里面。
3)、新建一个EXCEL表格,。
4)、用excel打开这个新建的表格。
5)、右击Sheet1-选择查看代码。
6)、将下列代码复制到文本框中:

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

7)、点击运行,即可成功合并。

2、代码二
也可用下面的代码
使用方法:
1)、新建一个工作薄,将其命名为你合并后的名字。
2)打开此工作薄。
3)在其下任一个工作表标签上点击右键,选择“查看代码”。
4、在打开的VBA编辑窗口中粘贴以下代码:

Sub 工作薄间工作表合并()

Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls*),*.xls*", MultiSelect:=True, Title:="合并工作薄")
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)关闭VBA编辑窗口。
6)在excel中,工具---宏---宏,选“工作薄间工作表合并”,然后“执行”。
7)在打开的对话窗口中,选择你要合并的300个工作薄。
8)等待。。。。ok!

上一篇下一篇

猜你喜欢

热点阅读