用vba合并多个excel sheet
时间: 2023-09-29 08:09:56 浏览: 347
使用VBA合并多个Excel工作簿
4星 · 用户满意度95%
你可以使用VBA编写一个宏来合并多个Excel工作表。以下是一个示例代码:
```vba
Sub MergeSheets()
Dim wb As Workbook
Dim ws As Worksheet
Dim mergedSheet As Worksheet
Dim lastRow As Long
' 创建一个新的工作簿
Set wb = Workbooks.Add
' 在新的工作簿中创建一个合并后的工作表
Set mergedSheet = wb.Worksheets.Add
' 循环遍历所有打开的工作簿
For Each wb In Application.Workbooks
' 排除当前工作簿和新创建的工作簿
If wb.Name <> ThisWorkbook.Name And wb.Name <> mergedSheet.Parent.Name Then
' 循环遍历当前工作簿中的所有工作表
For Each ws In wb.Worksheets
' 在合并后的工作表中复制数据
lastRow = mergedSheet.Cells(mergedSheet.Rows.Count, 1).End(xlUp).Row
ws.UsedRange.Copy Destination:=mergedSheet.Cells(lastRow + 1, 1)
Next ws
End If
Next wb
' 保存合并后的工作簿
wb.SaveAs "合并后的工作簿.xlsx"
wb.Close
MsgBox "合并完成!"
End Sub
```
你可以将上述代码复制到Excel VBA编辑器中,然后运行宏来合并多个Excel工作表。请注意,这个示例代码会将所有打开的工作簿中除了当前工作簿和新创建的工作簿之外的所有工作表合并到一个新的工作表中,并保存为名为"合并后的工作簿.xlsx"的文件。你可以根据需要进行修改。
阅读全文