写个VBA程序 将多个工作表合并到一个工作表中
时间: 2023-02-08 09:03:46 浏览: 294
好的,这是一个将多个工作表合并到一个工作表中的 VBA 程序:
Sub MergeWorksheets()
Dim ws As Worksheet, wsTemp As Worksheet
Dim lRow As Long
' 设置当前工作簿为目标工作簿
Set wsTemp = ThisWorkbook.Worksheets("目标工作表")
' 在目标工作表最后一行后面添加一行
lRow = wsTemp.Range("A" & wsTemp.Rows.Count).End(xlUp).Row
wsTemp.Range("A" & lRow + 1).EntireRow.Insert
' 遍历所有工作表
For Each ws In ThisWorkbook.Worksheets
' 跳过目标工作表
If ws.Name <> "目标工作表" Then
' 复制数据
ws.Range("A1:Z1").Copy Destination:=wsTemp.Range("A" & lRow + 1)
ws.Range("A2:Z" & ws.Rows.Count).Copy Destination:=wsTemp.Range("A" & lRow + 2)
' 更新目标工作表的最后一行
lRow = wsTemp.Range("A" & wsTemp.Rows.Count).End(xlUp).Row
End If
Next
' 删除目标工作表的第一行(标题行)
wsTemp.Range("A1").EntireRow.Delete
End Sub
在这个程序中,我们假设要将所有工作表合并到名为 "目标工作表" 的工作表中。程序会遍历所有工作表,并将除 "目标工作表" 外的所有工作表的数据复制到 "目标工作表" 中。
希望这个程序能帮到你!
阅读全文