我正在尝试使用此代码。我的工作表Concur中第10列中有很多行,但是当我运行代码时,它仅将最后一行复制粘贴到我的目标位置。我不确定发生了什么问题。...
Dim ConcurLastRow As Long
Set Concur = ThisWorkbook.Worksheets("Concur")
ConcurLastRow = Concur.Cells(Rows.Count, 1).End(xlUp).Row
For i = 11 To ConcurLastRow
Worksheets("Concur").Cells(i, 10).Copy
UploadtoSunLastRow = Worksheets("UploadtoSun").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Worksheets("Concur").Paste Destination:=Worksheets("UploadtoSun").Cells(UploadtoSunLastRow, 4)
Next i
您正在使用列1来获取两张纸上的最后一行,但正在填充worksheet("UploadtoSun")
上的列4。
您要更改:
UploadtoSunLastRow = Worksheets("UploadtoSun").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
至:
UploadtoSunLastRow = Worksheets("UploadtoSun").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Row
现在,您正在将最后一行与要添加行的列进行比较。
尽管BigBen指出,如果您要获取一个连续范围并将其转储到另一个连续范围,则可以一次循环复制整个范围,而无需循环。