我想通过两个excel列循环并确定第一列中的值是否出现在第二列中。我在VBA编程方面相当新,而且还没有编程。VBA循环遍历两个excel列中的值
我的代码,当我通过F8运行它时,如果它找到一个值,它会写入“Match”,但它会保持循环并最终将其重写为“No Match”。你能告诉我如何解决这个问题吗?
谢谢
Sub loopDb()
Set dbsheet1 = ThisWorkbook.Sheets("Sheet1")
Set dbsheet2 = ThisWorkbook.Sheets("Sheet2")
lr1 = dbsheet1.Cells(Rows.Count, 1).End(xlUp).Row
lr2 = dbsheet2.Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To lr1
act1 = dbsheet1.Cells(x, 1)
For y = 2 To lr2
act2 = dbsheet2.Cells(y, 1)
If act2 = act1 Then
dbsheet2.Cells(y, 3).Value = "Match"
Else
dbsheet2.Cells(y, 3).Value = "No match"
End If
Next y
Next x
End Sub
是否打算在两张不同的工作表中比较A列? – Noceo
你为什么不在C列中使用它? 'IF(ISNUMBER(MATCH(B2,$ A $ 2:$ A $ 16,0)),“Match”,“No match”) – Jordan
是的,我在比较两张不同工作表中的列 –