我在Excel中将数据从一个工作簿复制到另一个工作簿时遇到了一个非常奇怪的问题。 代码段:
For iRow = 7 To iMaxCheckRows
strPartNum = thisSheet.Cells(7, 1).Value
If strPartNum <> "" Then
For iSourceRow = 4 To iMaxRows
If sourceBook.Worksheets(1).Cells(iSourceRow, 2).Value = strPartNum Then
thisSheet.Cells(iRow, 4).Value = sourceBook.Worksheets(1).Cells(iSourceRow, 4).Value 'here it gets stuck
Exit For
End If
Next iSourceRow
End If
Next iRow
所有内容都按预期工作,直到第一次满足第二个if语句中的条件。该值被正确复制但在此之后它被卡在这一行上。 iRow递增但iSourceRow不是,并且复制相同的值直到iRow到达iMaxCheckRows。 我尝试使用单步调试它,但它与iRow递增保持在同一行。
我以前从未见过这种行为。有人知道这里有什么线索吗?
答案 0 :(得分:0)
strPartNum = thisSheet.Cells(7,1).Value应该是strPartNum = thisSheet.Cells(iRow,1).Value
这就是诀窍。现在我觉得很蠢。