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

VBA在最后一行发布后粘贴数据,vba,excel,Vba,Excel,我正在从多个工作表中编译数据,并将其放在一个合并表中。第一张纸很容易,因为我可以粘贴整张纸,但是在那之后它变得很棘手,因为我只需要从A5-H开始,因为我不再需要标题。然后我需要将此信息粘贴到上一次粘贴的底部。我正在获取“RangelastRow.Select”的对象范围\u Global失败。问题是,当我在调试器中查看它时,它得到了正确的行号。我做错了什么 Sheets(1).Select Cells.Select Application.CutCopyMode = False Selectio

我正在从多个工作表中编译数据,并将其放在一个合并表中。第一张纸很容易,因为我可以粘贴整张纸,但是在那之后它变得很棘手,因为我只需要从A5-H开始,因为我不再需要标题。然后我需要将此信息粘贴到上一次粘贴的底部。我正在获取“RangelastRow.Select”的对象范围\u Global失败。问题是,当我在调试器中查看它时,它得到了正确的行号。我做错了什么

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
例如,您需要以下格式的范围语句:

Range("A1").Select 
因此,由于您已经获得了lastRow的行号,您只需添加列引用:

Range("E" & lastRow).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

非常感谢你。我最初试过Rangelastrow,A,显然离成功很近,但也很遥远。