【发布时间】:2016-06-16 08:15:32
【问题描述】:
当满足某个条件时,我试图按索引号复制整行并将其粘贴到具有不同索引号的另一行(我知道问题不在于条件逻辑)。我正在考虑这样的事情:
Sub Makro1()
Dim i As Integer
With ActiveSheet
'for looping
totalRows = .Cells(.Rows.Count, "A").End(xlUp).Row
'index of last row even after rows have been added
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'data starts at row #3
For i = 3 To totalRows
If .Cells(i, 19).Value > 0 Then
Number = .Cells(i, 19).Value
Do While Number > 0
lastRow = lasRow + 1
'Next line doesnt do anything
.Rows(lastRow) = .Rows(i).Value
Number = Number - 1
Loop
End If
Next i
End With
End Sub
逻辑按预期工作,但没有粘贴任何行。我一步一步走,确定问题不在于逻辑。
【问题讨论】:
-
TotalRows和LastRow变量是否为您提供了您期望的值? -
另外,
Lastrow = lastRow + 1行中似乎有错字。不清楚这是否导致您的代码错误(如果您在模块开头不使用Option Explicit,则不会看到 -
totalrows 和 lastrow 好像是同一行???
-
@Nathan_Sav 它应该以相同的方式开始,但在 OP 循环期间递增