vba 合并多张工作表代码
时间: 2023-07-29 19:02:11 浏览: 179
使用VBA合并多个Excel工作簿
4星 · 用户满意度95%
要合并多张工作表,可以使用VBA编写一个宏来实现。以下是一个示例代码:
```VBA
Sub 合并工作表()
Dim 合并表 As Worksheet
Dim 目标表 As Worksheet
Set 目标表 = ThisWorkbook.Sheets.Add ' 创建一个新的工作表作为目标表
目标表.Name = "合并表"
For Each 合并表 In ThisWorkbook.Sheets ' 遍历所有工作表
If 合并表.Name <> "合并表" Then ' 排除目标表
'将数据从合并表复制到目标表的下一个空行
合并表.UsedRange.Copy 目标表.Cells(目标表.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End If
Next 合并表
目标表.Columns.AutoFit ' 自动调整列宽
MsgBox "已成功合并所有工作表到合并表中。"
End Sub
```
这段代码首先创建一个名为"合并表"的新工作表作为目标表。然后,通过一个循环遍历所有工作表。对于每个非目标表的工作表,它使用`UsedRange`属性来获取该工作表中被使用的范围。接下来,使用`Copy`方法将数据从合并表复制到目标表的下一个空行。最后,使用`Columns.AutoFit`方法自动调整目标表的列宽,并显示一个消息框表示合并成功。
你可以将这段代码复制到Excel的VBA编辑器中,然后运行它以合并多张工作表。
阅读全文