vba For Loop 正在粘贴中间有空白行的行

vba For Loop is pasting lines with blanks rows inbetween

我正在尝试遍历每行拉出第 100 行,然后将其粘贴到活动工作簿中。由于某种我无法弄清楚的原因,副本似乎工作正常,但粘贴应该粘贴到范围(E2:V2),它粘贴到 E3:V3,然后每次通过 for 循环时,它都会跳过另一行。因此,它不是粘贴到 E2:V2,而是 E3:V3,然后是 E5:V5。

  AwbRownum = 2        
        For Rownum = 2 To wb.Sheets("Export").Range("A" & lastRowwb) Step 100
            Debug.Print "Rownum: " & Rownum
            buffer = wb.Sheets("Export").Range("A" & Rownum, "R" & Rownum).Value
            Awb.Sheets("Sheet1").Range("E" & AwbRownum, "V" & AwbRownum).Rows(AwbRownum).Value = buffer
            Debug.Print "AwbRownum = " & AwbRownum

            AwbRownum = AwbRownum + 1

        Next Rownum

您正在尝试将 buffer 数组放入 Awb.Sheets("Sheet1") 中的范围内,因此您不需要最后的 Rows(AwbRownum)

只需更改线路即可:

Awb.Sheets("Sheet1").Range("E" & AwbRownum, "V" & AwbRownum).Rows(AwbRownum).Value = buffer

至:

Awb.Sheets("Sheet1").Range("E" & AwbRownum, "V" & AwbRownum).Value = buffer

当你写:

Awb.Sheets("Sheet1").Range("E" & AwbRownum, "V" & AwbRownum).Rows(AwbRownum).Value = buffer

.Rows(AwbRownum)Awb.Sheets("Sheet1").Range("E" & AwbRownum, "V" & AwbRownum).

定义的范围的偏移量