For i = 2 To Sheets.Count - 1 '从第一个工作表到倒数第二个工作表
With Sheets(i)
n = .[c65536].End(xlUp).Row '分别求出最大行号
.Range("a2:F" & n).Copy ActiveSheet.[c65536].End(xlUp).Offset(1, -2) '取a2开始到最后的数据copy到新表数据的下一行。
End With
怎么改才能包括列宽和行高呢
那能不能整体复制完再重新设置整体列宽呢?
追答那没必要吧,做两次粘贴不就可以保持行高列宽了吗。复制完了再来调整行高列宽,这些行的行高和列宽都相同吗,不同的话还要用两次for循环一个一个来
追问能帮忙把上面代码改一下吗 还是没明白
追答For i = 2 To Sheets.Count - 1 '从第一个工作表到倒数第二个工作表
With Sheets(i)
n = .[c65536].End(xlUp).Row '分别求出最大行号
.Range("a2:F" & n).entirerow.Copy ActiveSheet.[c65536].End(xlUp).Offset(1, -2) '取a2开始到最后的数据copy到新表数据的下一行。此处加了个entirerow ,就是整行复制粘贴,这是为了保持行高不变
.Range("a2:F" & n).copy '再复制一次
ActiveSheet.[c65536].End(xlUp).Offset(1, -2).pastespecial paste:=xlpastecolumnwidths '这次进行选择性粘贴,只粘贴列宽,以使列宽一致
End With
next i