怎样用VBA将同一个工作簿中的指定工作表合并?

如题:怎样用VBA将同一个工作簿中的指定工作表合并,例如,一个EXCEL工作簿中有5个工作表,工作表名称分别为A、B、C、D、E、F,怎样把C、E、F三张工作表合并到A工作表

本例中,用VBA将同一个工作簿中的指定工作表合并,方法如下:
第一步,在VBA编辑器中,插入新模块。
第二步,在模块中复制以下代码。
Sub MergeALLSheetsInOne()
Dim tsh As Worksheet

Dim ssh As Worksheet
Dim lrng As Long
Dim lcc As Long
Dim tshlrng As Long
Set tsh = Sheets("A")

For Each ssh In Sheets(Array("C", "D", "E"))
lrng = ssh.Cells(ssh.Rows.count, 1).End(3).Row
lcc = ssh.Cells(1, ssh.Columns.count).End(1).Column
ssh.Range(ssh.Cells(1, 1), ssh.Cells(lrng, lcc)).Copy tsh.Cells(tshlrng + 1, 1)
tshlrng = tsh.Cells(tsh.Rows.count, 1).End(3).Row
Next ssh
Application.CutCopyMode = False
End Sub

第三步,运行以上代码,得到结果。
注意:以上代码是,把C,D,E三个工作表中的数据,分别复制到A工作表中,每复制一个源表数据,将放在上一次数据的新行中。不覆盖。
如果需要覆盖原来数据,只更新新增部分,则代码需要修改。变化的部分如下:
ssh.Range(ssh.Cells(1, 1), ssh.Cells(lrng, lcc)).Copy tsh.Cells(tshlrng + 1, 1)
tshlrng = tsh.Cells(tsh.Rows.count, 1).End(3).Row
修改为:ssh.Range(ssh.Cells(1, 1), ssh.Cells(lrng, lcc)).Copy tsh.Cells( 1, 1)
如果需要其它要求,要重新修改。以上就是本例问题的解决方法了,供参考。
温馨提示:答案为网友推荐,仅供参考
相似回答