在日常办公中,我们常常需要处理多个Excel工作簿,而将这些工作簿中的数据合并到一个工作簿中可以极大地提高工作效率。今天,我们就来分享一种快速且高效的方法——通过VBA代码实现Excel工作簿的一键合并。
首先,确保你的Excel版本支持宏功能(大多数现代版本都支持)。接下来,按照以下步骤操作:
1. 打开一个新的或现有的Excel文件。
2. 按下Alt + F11打开VBA编辑器。
3. 在VBA编辑器中,点击“插入”菜单,然后选择“模块”。
4. 在新模块窗口中,输入以下代码:
```vba
Sub 合并工作簿()
Dim 文件路径 As String
Dim 工作簿名 As String
Dim 合并工作簿 As Workbook
Dim 当前工作簿 As Workbook
' 设置合并目标工作簿
Set 合并工作簿 = ThisWorkbook
' 获取用户输入的文件夹路径
文件路径 = Application.GetOpenFilename(FileFilter:="Excel Files (.xls), .xls", MultiSelect:=True)
If IsArray(文件路径) Then
For Each 当前工作簿 In Workbooks
当前工作簿.Close SaveChanges:=False
Next
For i = LBound(文件路径) To UBound(文件路径)
工作簿名 = Dir(文件路径(i))
' 打开每个选定的工作簿并复制数据
Workbooks.Open 文件路径(i)
ActiveSheet.UsedRange.Copy
合并工作簿.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
' 关闭源工作簿
ActiveWorkbook.Close SaveChanges:=False
Next
MsgBox "数据合并完成!"
Else
MsgBox "未选择任何文件。"
End If
End Sub
```
5. 关闭VBA编辑器并返回Excel界面。
6. 按下Alt + F8,选择刚刚创建的“合并工作簿”宏并运行。
7. 在弹出的文件选择对话框中,选择你想要合并的所有Excel文件。
8. 宏会自动读取所选文件的内容,并将其合并到当前工作簿的第一个工作表中。
此方法不仅简单易行,而且大大节省了手动复制粘贴的时间。通过使用VBA脚本,你可以轻松地实现Excel工作簿的一键合并,让您的工作更加高效流畅。