我正在尝试将一个叫做j的循环放到另一个叫做i的循环中。在其中一种方法中,我尝试了j循环在i循环之前结束,并每次都复制相同的数字,因为i循环没有前进。
For i = 2 To lastRowK
For j = 5 To 500
If Worksheets(1).Cells(i, 5).Value = 7 Then
Worksheets(2).Cells(j, 6).Value = Worksheets(1).Cells(i, 1).Value
Next j
Next i
在另一个选项中,我尝试为Next j设置条件,但它给了我一个编译错误:Next for for。
For i = 2 To lastRowK
For j = 5 To 500
If Worksheets(1).Cells(i, 5).Value = 7 Then
Worksheets(2).Cells(j, 6).Value = Worksheets(1).Cells(i, 1).Value
If KRData.Cells(i, 5).Value = 7 Then _
Next j
Next i
我尝试过的第三个选项是将next放在条件中,但它返回一个编译错误:预期的列表分隔符或语句的结尾。
For i = 2 To lastRowK
For j = 5 To 500
If Worksheets(1).Cells(i, 5).Value = 7 Then
Worksheets(2).Cells(j, 6).Value = Worksheets(1).Cells(i, 1).Value
If KRData.Cells(i, 5).Value = 7 Then _
Next j AND Next i
此外,如果不能,请结束。
答案 0 :(得分:0)
确保在循环开始之前已设置To
值lastRowK
。如果它的值小于初始值(在您的情况2中),则表达式将评估为false并终止循环。
For i = 0 To 3
Next i
将循环直到i =4。它将终止循环并在Next
语句之后的下一行代码处恢复执行。
For i = 2 To 1
Next i
在此示例中,循环将立即终止并前进到下一条语句之前的第一行代码。我愿意打赌,如果您在循环的初始化时放置一个断点,并在工具菜单中检查了局部变量,您会发现lasRowK
的值为Empty
或小于等于1。