宏合并多个工作表
Jump to navigation
Jump to search
通义千问 prompt:
合并 sheet1 sheet2 ... sheetN 的内容至 sheetNEW 请用宏处理
1Sub 合并多个工作表到SheetNEW()
2 Dim ws As Worksheet
3 Dim newWs As Worksheet
4 Dim lastRow As Long
5 Dim sourceWsName As String
6
7 ' 创建新的工作表作为目标表
8 Set newWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
9 newWs.Name = "SheetNEW"
10
11 ' 开始合并过程
12 For Each ws In ThisWorkbook.Worksheets
13 If Not ws.Name = "SheetNEW" Then ' 忽略已合并的目标工作表
14 lastRow = newWs.Cells(newWs.Rows.Count, "A").End(xlUp).Row + 1
15
16 ' 复制每个工作表的内容到SheetNEW的下一个空行
17 ws.UsedRange.Copy Destination:=newWs.Range("A" & lastRow)
18 End If
19 Next ws
20
21 ' 清理内存引用
22 Set ws = Nothing
23 Set newWs = Nothing
24End Sub