最后一行问题之后的VBA粘贴数据

我正在编译来自多个工作表的数据以放置在一个合并表单上。 第一张纸是很容易的,因为我可以粘贴整个纸张,但之后,它变得棘手,因为我只需要从A5-H ###,因为我不再需要标题。 然后我需要将这些信息粘贴在前一个粘贴的底部。 我得到一个范围的对象“_Global”失败的'范围(lastRow)。select'。 问题是,当我在debugging器中查看它时,会出现正确的行号。 我究竟做错了什么?

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语句(例如):

 Range("A1").Select 

所以既然你有行号( lastRow ),你只需要添加列引用:

 Range("E" & lastRow).Select 

额外的信息

避免使用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