用excel VBA怎么把多个工作表里的数据复制到一个工作表里
工作薄里有21个工作表,需要把前20个表的数据复制到第21表中。这20个表的格式都是一样的,但每个表中的数据行数不确定,我需要把每个表的数据复制到第21个表里。在粘贴的时...
工作薄里有21个工作表,需要把前20个表的数据复制到第21表中。这20个表的格式都是一样的,但每个表中的数据行数不确定,我需要把每个表的数据复制到第21个表里。
在粘贴的时候是按照表1、表2依次往下排的,比如表1的数据若有n行则放在第2到第n+1行,表2的数据则从第n+2行开始,依次类推。
请高手指点一下,用VBA如何实现呢? 展开
在粘贴的时候是按照表1、表2依次往下排的,比如表1的数据若有n行则放在第2到第n+1行,表2的数据则从第n+2行开始,依次类推。
请高手指点一下,用VBA如何实现呢? 展开
3个回答
展开全部
按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
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
展开全部
sub fuzhi()
for i=1 to 20
sheet21.cells(sheet21.usedrange.row+1,1)=sheets("sheet" & i).usedrange
next i
end sub
for i=1 to 20
sheet21.cells(sheet21.usedrange.row+1,1)=sheets("sheet" & i).usedrange
next i
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要看到文件的原件才好写代码。有意请按“头像”上的联系方式联系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |