我在运行 vba 代码时遇到问题。我希望 vba 搜索工作表 1 中 A 列中的所有值,并将其与工作表 2 A 列中的值进行比较。如果该值不存在,我希望 VBA 将文本添加到工作表 1 中的 E 列到该行.
这些是我当前的代码,当我运行它时,VBA 没有弹出任何运行时错误,也没有给出结果。提前谢谢您
Sub CheckValues()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim valueToFind As Variant
Dim searchRange As Range
Dim foundCell As Range
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Set ws2 = ThisWorkbook.Worksheets("Sheet2")
valueToFind = ws1.Range("A:A").Value
Set searchRange = ws2.Range("A:A")
' Search for the value in the search range
Set foundCell = searchRange.Find(what:=valueToFind, LookIn:=xlValues, lookat:=xlWhole)
If foundCell Is Nothing Then
ws1.Range("E" & foundCell.Row).Value = "Resign"
End If
End Sub
有必要显式地迭代你想要查找的数据范围:
Set valueToFind = ws1.Range("A:A")
Set searchRange = ws2.Range("A:A")
For Each valueToFindItem In valueToFind
' Search for the value in the search range
Set foundCell = searchRange.Find(what:=valueToFindItem, LookIn:=xlValues, lookat:=xlWhole)
If foundCell Is Nothing Then
ws1.Range("E" & ValueToFindItem.Row).Value = "Resign"
End If
Next valueToFindItem