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)
.
定义的范围的偏移量
我正在尝试遍历每行拉出第 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)
.