vba 合并文件代码
时间: 2023-03-04 12:55:52 浏览: 185
EXCEL VBA合并sheet文件代码
以下是一个 VBA 合并多个 Excel 文件的代码示例:
```
Sub 合并文件()
Dim 文件目录 As String, 文件名 As String, 文件扩展名 As String
Dim 打开的文件 As Workbook, 目标文件 As Workbook
Dim 目标工作表 As Worksheet, 工作表 As Worksheet
Dim 最后一行 As Long, 目标行 As Long
'设置文件目录
文件目录 = "C:\Users\UserName\Documents\Files\"
'设置目标文件
Set 目标文件 = Workbooks.Add(xlWBATWorksheet)
Set 目标工作表 = 目标文件.Worksheets(1)
目标行 = 1
'获取目录中的所有 Excel 文件
文件名 = Dir(文件目录 & "*.xls*")
'循环打开文件并复制数据到目标文件中
Do While 文件名 <> ""
Set 打开的文件 = Workbooks.Open(文件目录 & 文件名)
For Each 工作表 In 打开的文件.Worksheets
最后一行 = 工作表.Cells(Rows.Count, 1).End(xlUp).Row
工作表.Range("A1:Z" & 最后一行).Copy
目标工作表.Range("A" & 目标行).PasteSpecial xlPasteValues
目标行 = 目标行 + 最后一行
Next
打开的文件.Close False
文件名 = Dir
Loop
'保存目标文件
目标文件.SaveAs 文件目录 & "合并文件.xlsx"
目标文件.Close
MsgBox "已完成合并。"
End Sub
```
这个代码将会打开一个指定目录下的所有 Excel 文件,然后将每个文件中所有工作表的数据复制到一个新的 Excel 文件中,最后保存该文件。
阅读全文