VBA批量复制多个工作表的内容代码
时间: 2024-10-24 07:03:57 浏览: 50
在VBA中,你可以编写脚本来批量复制多个工作表的内容到另一个工作簿。以下是一个简单的例子,假设你想要将Sheet1、Sheet2和Sheet3的内容复制到新工作簿的工作表A1、B1和C1:
```vba
Sub CopySheetsToNewWorkbook()
Dim ws As Worksheet ' 工作表变量
Dim newBook As Workbook ' 新工作簿变量
Dim destWs As Worksheet ' 目标工作表
' 创建新工作簿
Set newBook = Workbooks.Add
' 遍历源工作簿中的每个工作表
For Each ws In ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")) ' 指定需要复制的特定工作表名称
' 设置目标工作表为新工作簿的第一个空白工作表
Set destWs = newBook.Worksheets(newBook.Worksheets.Count)
' 复制内容
ws.Cells.Copy Destination:=destWs.Cells(1, 1) ' 将整个工作表复制到新的第一个单元格
Next ws
' 关闭源工作簿,但保持新工作簿打开
ThisWorkbook.Close SaveChanges:=False
' 如果你想保存新工作簿,可以在这里添加一行代码,如: newBook.SaveAs "新文件名.xlsx"
End Sub
```
阅读全文