vba合并多个工作表excel
时间: 2024-09-29 20:09:09 浏览: 59
excel_VBA快速合并多表数据
5星 · 资源好评率100%
在VBA(Visual Basic for Applications)中,合并Excel工作表是一个常见的操作。如果你想要将多个工作表合并到一个新的工作表或者保留原有工作簿结构,可以使用`Worksheets`对象的`Copy`和`Paste Special`方法。下面是一个简单的示例:
```vba
Sub MergeSheets()
Dim ws As Worksheet ' 工作表变量
Dim newSheet As Worksheet ' 新创建的工作表
Dim lastRow As Long
' 遍历所有需要合并的工作表
For Each ws In ThisWorkbook.Worksheets(Array("Sheet1", "Sheet2", "Sheet3")) ' 更改这里的数组为你想合并的Sheet名称列表
If ws.Index <> ThisWorkbook.Worksheets.Count Then ' 确保不是最后一页
' 获取最后一个非空白行
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' 创建新的工作表并将内容复制过去
Set newSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
newSheet.Name = ws.Name ' 给新工作表命名
' 从源工作表复制数据
ws.Range("A1:lastRow").Copy Destination:=newSheet.Range("A1")
End If
Next ws
' 如果你想合并到已有工作表而不是新建的,这里可以修改为
' newSheet.Cells(1, 1).PasteSpecial xlPasteValuesAndNumberFormats
End Sub
```
运行此宏后,它会遍历指定的工作表,并将它们的内容逐个复制到一个新的工作表。
阅读全文