合并EXCEL文件夹 VBA
时间: 2023-08-16 16:10:37 浏览: 158
你可以使用VBA编写一个宏来合并Excel文件夹中的文件。以下是一个示例代码:
```vba
Sub 合并文件夹中的Excel文件()
Dim 文件夹路径 As String, 文件路径 As String, 目标工作簿 As Workbook, 源工作簿 As Workbook
Dim 目标工作表 As Worksheet, 源工作表 As Worksheet
Dim 目标行数 As Long, 源行数 As Long
' 设置文件夹路径
文件夹路径 = "C:\文件夹路径\"
' 创建目标工作簿
Set 目标工作簿 = Workbooks.Add
' 循环遍历文件夹中的所有文件
文件路径 = Dir(文件夹路径 & "*.xls*")
Do While 文件路径 <> ""
' 打开源工作簿
Set 源工作簿 = Workbooks.Open(文件夹路径 & 文件路径)
' 循环遍历源工作簿中的所有工作表
For Each 源工作表 In 源工作簿.Sheets
' 在目标工作簿中创建新的工作表
Set 目标工作表 = 目标工作簿.Sheets.Add(After:=目标工作簿.Sheets(目标工作簿.Sheets.Count))
' 将源工作表的内容复制到目标工作表
源行数 = 源工作表.UsedRange.Rows.Count
目标行数 = 目标工作表.UsedRange.Rows.Count
源工作表.UsedRange.Copy 目标工作表.Cells(目标行数 + 1, 1)
Next 源工作表
' 关闭源工作簿
源工作簿.Close
' 继续下一个文件
文件路径 = Dir()
Loop
' 保存目标工作簿
目标工作簿.SaveAs 文件夹路径 & "合并文件.xlsx"
' 关闭目标工作簿
目标工作簿.Close
MsgBox "合并完成!"
End Sub
```
请将上述代码复制到Excel的VBA编辑器中(按ALT+F11打开编辑器),然后运行宏即可合并指定文件夹中的所有Excel文件。记得在代码中修改文件夹路径为你实际的文件夹路径,并根据需要进行其他自定义操作。运行完成后,合并后的文件将保存在指定文件夹路径下的"合并文件.xlsx"文件中。
阅读全文