修复vba将行数据从一列复制到另一张工作表

问题描述 投票:0回答:1

我正在尝试使用此代码。我的工作表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
excel vba copy-paste
1个回答
0
投票

您正在使用列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指出,如果您要获取一个连续范围并将其转储到另一个连续范围,则可以一次循环复制整个范围,而无需循环。

© www.soinside.com 2019 - 2024. All rights reserved.