我想通過兩個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
是的,我在比較兩張不同工作表中的列 –