我有两个循环,我循环计算第一张表中的行,ii循环计算第二张表中的行,但在我的第二张表中,我的条件不符合我需要的要求,它只是回到我循环。我想在第二个循环中找到一个空单元格,但它不会经历整个条件。任何想法......
For i = 3 To lastrow
' condition to check number
If IsNumeric(ws1.Cells(i, 1)) Then
If ws1.Cells(i, 1) <> "" Then
cName = ws1.Cells(i, 1)
'This one is for second loop
For ii = 3 To lastroww
If ws2.Cells(ii, 3) = "" Then
ws2.Cells(ii, 3) = "Name" + cName + "City"
End If
Next ii
End If
End If
Next i
答案 0 :(得分:0)
i的初始循环逐个遍历第一张中的所有值,对于每个值,在第一张中我们遍历第二张中的所有值,因为此循环与第一个循环嵌套。即
For i = 3 To lastrow
For ii = 3 To lastroww
' for every i you go through all values in sheet 2
Next ii
结束如果 万一 接下来我
因此,如果第1张中有10个元素,而第2张中有10个元素。外部循环选择工作表1中的第一个元素,然后检查工作表2中的所有10个元素.net选择工作表1中的第二个元素,然后再次遍历工作表2中的相同10个元素并继续。
所以当你的i的外循环最初运行时,它会填充第二张表中缺失的值。现在,当这些值被填充时,对于下一个i值,第二张表中的空值的条件不满足,因为它们已在第一次迭代中填充。
我希望它能澄清您的疑问。
答案 1 :(得分:0)
For ii = 3 To lastroww
lastroww = ws2.UsedRange.Rows.Count
If ws2.Cells(ii, 3) = "" Then
ws2.Cells(ii, 3) = "Name" + cName + "City"
End If
Next ii