我正在尝试使用VBA以某种模式比较两个excel的单元格。该表由空行分隔。模式是: 我正在看A列。如果单元格A1是空的,我正在移动到下一个。如果单元格A2不为空,那么我正在向B2,B3,B4等编译$ A2 $,直到我击中空单元格。如果是这样,那么它移动到下一个(不是空的),即$ A6 $,我将继续竞争B6,B7,...... 为了定义循环的范围(范围),我有以下内容:
LastRow1 = This.Sheets("List1").Range("A1048576").End(xlUp).Row
哪种循环适合这种模式? 非常感谢提前。
答案 0 :(得分:0)
如果我误解了你,请纠正我: 您想循环遍历A列中的每一行直到最后一行。 每次在A列中有值时,都希望将其与B列中的数据进行比较。
也许是这样的:
LastRow1 = Range("A" & Rows.Count).End(xlUp).Row 'Determining the last row in column A
LastRow2 = Range("B" & Rows.Count).End(xlUp).Row 'Determining the last row in column B
For i = 2 to LastRow1 'Looping through every row
If Cells(i, "A") <> "" Then
For j = i to LastRow2 'looping through each row in column B from the same line as i in column A at that moment, column A6 f.e. will never compare with a value in B2:B5 for example, but only B6 till lastrow in column B
If Cells(i, "A") = Cells(i, "B") Then
<<do something if the value is found>>
End If
Next j
End If
Next i