所以,我有这个包含所有 ID 的 Worksheet1 和只包含几个 ID 的 Worksheet2。我的代码能够根据匹配的 ID 匹配和粘贴值,但它在匹配时不会查看整个值。例如,在工作表 2 中,我的 ID 为 132,因此在工作表 1 中,它会将数据粘贴到编号为 132 的行中,但也会将其粘贴到 ID 为 1、3、2、13、32 等的行中。我该如何解决这个问题它只会将数据粘贴到正确的位置。
Set lkp = ws_Worksheet2.Range(ws_Worksheet2.Cells(6, 2), ws_Worksheet2.Cells(1235, 2).End(xlUp))
Set rng1 = ws_Worksheet1.Range(ws_Worksheet1.Cells(2, 1), ws_Worksheet1.Cells(1235, 1).End(xlUp))
For Each cll In lkp.Rows
On Error Resume Next
temp_var = cll.Value
Set fnd = rng1.Find(cll.Value)
On Error GoTo 0
If Not fnd Is Nothing Then
cll.Offset(, 10).Value = fnd.Offset(, 1).Value
cll.Offset(, 17).Value = fnd.Offset(, 2).Value
cll.Offset(, 24).Value = fnd.Offset(, 3).Value
cll.Offset(, 25).Value = fnd.Offset(, 4).Value
cll.Offset(, 28).Value = fnd.Offset(, 8).Value
cll.Offset(, 21).Value = fnd.Offset(, 9).Value
End If
Next cll
尝试在您的查找参数 LookAt 中使用 xlWhole。它应该只找到 132,而不是 ID 1、3、2、13、32。
Set fnd = rng1.Find(What:=cll.Value, LookAt:=xlWhole)