如何合并多个Excel文件使用VBA代码
您可以使用以下VBA代码来合并多个Excel文件:
- 打开一个新的Excel文件,按下
Alt + F11打开VBA编辑器。 - 在VBA编辑器中,插入一个新的模块(在左侧的项目资源管理器中,右键单击该文件,选择“插入”>“模块”)。
- 在模块中,复制粘贴以下代码:
Sub 合并Excel文件()
Dim 文件路径 As String, 目标工作簿 As Workbook, 源工作簿 As Workbook
Dim 目标工作表 As Worksheet, 源工作表 As Worksheet
Dim 目标行数 As Long
'设置目标工作簿和工作表
Set 目标工作簿 = ThisWorkbook
Set 目标工作表 = 目标工作簿.Sheets(1)
目标行数 = 2
'选择要合并的文件
文件路径 = Application.GetOpenFilename("Excel文件 (*.xls*), *.xls*", Title:="选择要合并的文件", MultiSelect:=True)
'循环遍历所选文件
For Each 文件 In 文件路径
'打开源工作簿
Set 源工作簿 = Workbooks.Open(文件)
Set 源工作表 = 源工作簿.Sheets(1)
'复制源工作表的数据到目标工作表
源工作表.UsedRange.Copy 目标工作表.Cells(目标行数, 1)
'关闭源工作簿
源工作簿.Close False
'更新目标行数
目标行数 = 目标行数 + 源工作表.UsedRange.Rows.Count
Next 文件
'调整目标工作表的列宽
目标工作表.Columns.AutoFit
MsgBox "合并完成!", vbInformation
End Sub
- 关闭VBA编辑器。
- 运行宏。按下
Alt + F8打开宏对话框,选择“合并Excel文件”,然后点击“运行”。
此代码会提示您选择要合并的Excel文件。它会将每个文件的第一个工作表的数据复制到目标工作簿的第一个工作表中,并自动调整列宽。合并后的数据从第二行开始,每个文件的数据追加在前一个文件的数据后面。
请注意,合并的文件必须具有相同的结构,即它们具有相同的列数和列名。如果文件具有不同的结构,您可能需要进行适当的调整
原文地址: https://www.cveoy.top/t/topic/hJ6y 著作权归作者所有。请勿转载和采集!