excel vba复制最后二行的内容及格式

1.Aa表c:e

2.复制Aa表最后一行内容到as表

3.As表c:e(从第20行开始,如果第20行有内容就复制到下一行)

4.到第46行结束(如果第46有内容就弹出BOX提示)

一般情况下可以使用cells(rows.count ,"a").end(3) 来确定a列最后一个被使用的单元格
前提a列有在用单元格,
cells(rows.count ,"a").end(3).entirerow就是a列有数据的单元格对应的行,具体往哪个表格拷贝看楼主需求了

sheets("aa")cells(rows.count ,"a").end(3).entirerow.copy sheets("as").[a1]
会将aa表a列对应有数据的最后一行数据及格式一同拷贝到sheets("as")的第一行位置
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-12
Sub s()
    i = 20
    Do While Sheets("as").Cells(i, 3) <> ""
    If i >= 46 Then MsgBox "full": End
    i = i + 1
    Loop
    Sheets("aa").Cells(Rows.Count, 3).End(3).Offset(-1).Resize(2, 3).Copy Sheets("as").Cells(i, 3)
End Sub

来自:求助得到的回答本回答被提问者采纳
第1个回答  2017-04-12
将复制这行拆分,复制后选择性粘贴:
Rows(x & ":" & n).EntireRow.Copy
Range("A1").PasteSpecial xlPasteValuesAndNumberFormats

如果是复制的单元格格式,再加上下面一句

Range("A1").PasteSpecial xlPasteFormats
另外,Rows本身就是整行引用,EntireRow在这里就是重复的,可取消,直接改为:
Rows(x & ":" & n).Copy
相似回答