用excel VBA怎么把多个工作表里的数据复制到一个工作表里

工作薄里有21个工作表,需要把前20个表的数据复制到第21表中。这20个表的格式都是一样的,但每个表中的数据行数不确定,我需要把每个表的数据复制到第21个表里。
在粘贴的时候是按照表1、表2依次往下排的,比如表1的数据若有n行则放在第2到第n+1行,表2的数据则从第n+2行开始,依次类推。
请高手指点一下,用VBA如何实现呢?

按ALT+F11打开VBA编辑窗口,在左边列表栏右键选择插入模块,粘贴以下代码 然后返回工作表ALT+F8 选中,执行
Sub hb()
Application.ScreenUpdating = False

Dim EndrowHZ, ShtCount, EndRow, EndCol As Long
Sheets.Add
ActiveSheet.Name = "汇总"

ShtCount = Worksheets.Count

For n = 2 To ShtCount
Sheets(n).Activate
EndRow = [A65536].End(xlUp).Row
EndCol = [iv1].End(xlToLeft).Column
For i = 2 To EndRow
EndrowHZ = EndrowHZ + 1
For ii = 1 To EndCol
If EndrowHZ = 1 Then i = 1
Sheets("汇总").Cells(EndrowHZ, ii) = Cells(i, ii)
Next ii
Next i
Next
Sheets("汇总").Activate
Application.ScreenUpdating = True
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-28
sub fuzhi()
for i=1 to 20
sheet21.cells(sheet21.usedrange.row+1,1)=sheets("sheet" & i).usedrange
next i
end sub
第2个回答  2014-08-28
需要看到文件的原件才好写代码。有意请按“头像”上的联系方式联系。
相似回答