EXCEL中如何将同一个文件中的N个表单合并到其中一个表单中

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:01:16
一个EXCEL文件中有21个表单,前20个表单字段名和字段顺序都是一样的,第21个表单中希望是前20个表单的合并
例如:
Sheet1中:
姓名 年龄 部门
a 10 s
b 20 s
c 30 s

Sheet2中:
姓名 年龄 部门
e 10 x
f 20 x
g 30 x

合并后sheet3中显示:
姓名 年龄 部门
a 10 s
b 20 s
c 30 s
e 10 x
f 20 x
g 30 x

谢谢指教!

PS:请不要给“复制粘贴”这样的答案,因为现在也许是20个,以后可能有上百个。另外,需注意这21个表单是在同一个EXCEL文件中的。

Sub cs()
Dim nrow&, r1%, rs%, ls%
r1 = 2
Application.EnableEvents = False
Application.ScreenUpdating = False
For i = 2 To Sheets.Count
With Sheets(i)
rs = .UsedRange.Rows.Count + 1 - r1
ls = .UsedRange.Columns.Count
arr = .Range("a" & r1).Resize(rs, ls)
Range("a65536").End(xlUp).Offset(1).Resize(rs, ls) = arr
End With
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

工具,宏,V B编辑器,打开编辑器后,双击左侧树形目录中的sheet1(双击其他的也行,新建一个更可以),在弹出的编辑窗口中粘贴一下内容:
Sub cs()
Dim nrow&, r1%, rs%, ls%
r1 = 2
Application.EnableEvents = False
Application.ScreenUpdating = False
For i = 2 To Sheets.Count
With Sheets(i)
rs = .UsedRange.Rows.Count + 1 - r1
ls = .UsedRange.Columns.Count
arr = .Range("a" & r1).Resize(rs, ls)
Range("a65536").End(xlUp).Offset(1).Resize(rs, ls) = arr
End With
Next