最后一行发布后的VBA粘贴数据

时间:2017-03-27 22:42:30

标签: excel vba excel-vba

我正在编译多个工作表中的数据以放置在一个合并工作表上。第一张纸是很容易的,因为我可以粘贴整张纸然后它变得棘手,因为我只需要从A5-H ###,因为我不再需要标题。然后,我需要将此信息粘贴到上一个粘贴的底部。我正在获得一系列对象" _Global" '范围(lastRow)失败。选择'。问题是,当我在调试器中查看它时,它会提供正确的行号。我究竟做错了什么?

Sheets(1).Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Consolidation Sheet").Select
Range("A1").Select
ActiveSheet.Paste
Sheets(2).Select
Range("A5:A925").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Consolidation Sheet").Select
Range("A5").Select
lastRow = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).Row + 1
Range(lastRow).Select
ActiveSheet.Paste

1 个答案:

答案 0 :(得分:2)

您需要使用以下表单中的Range语句(例如):

Range("A1").Select 

因为您已获得行号(lastRow),您只需要添加列引用:

Range("E" & lastRow).Select

额外信息

Avoid using Select直接引用您要处理的工作表/范围

Sheets(1).Cells.Copy Destination:=Sheets("Consolidation Sheet").Range("A1")

With Sheets(2)
    .Range(.Range("A5:A925"),.Range("A5:A925").End(xlToRight)).Copy
End With

With Sheets("Consolidation Sheet")
    .Cells(.Rows.Count, "E").End(xlUp).Offset(1,0).PasteSpecial
End With