Я работаю с этим кодом, чтобы найти соответствие между A column value(sheet1)
и E column value (sheet2)
.Если есть совпадение, тогда получите значение из этой строки и поместите это значение в sheet2
.Код работает отлично и быстрее.Тем не менее, я сталкиваюсь с этой странной проблемой, несмотря на совпадение (особенно данных в середине столбца) между A column value(sheet1)
и E column value (sheet2)
, это ничего не дает мне.
Dim wsDest1 As Worksheet
Set wsDest1 = ThisWorkbook.Worksheets("sheet2")
Dim wsLookup1 As Worksheet
Set wsLookup1 = ThisWorkbook.Worksheets("sheet1")
Dim lasRow1 As Long
lasRow1 = wsDest1.Cells(wsDest1.Rows.Count, "E").End(xlUp).Row
Dim MatchedRow1 As Double
Dim iRow1 As Long
For iRow1 = 2 To lasRow1
MatchedRow1 = 0 'initialize!
On Error Resume Next
MatchedRow1 = Application.WorksheetFunction.Match(wsDest1.Cells(iRow1, "E").Value, wsLookup1.Columns("A"), 1)
On Error GoTo 0
If MatchedRow1 <> 0 Then
If wsDest1.Cells(iRow1, "E").Value = wsLookup1.Cells(MatchedRow1, "A").Value Then
wsDest1.Cells(iRow1, "A").Value = wsLookup1.Cells(MatchedRow1, "J").Value
wsDest1.Cells(iRow1, "B").Value = wsLookup1.Cells(MatchedRow1, "H").Value
wsDest1.Cells(iRow1, "C").Value = wsLookup1.Cells(MatchedRow1, "G").Value
wsDest1.Cells(iRow1, "D").Value = wsLookup1.Cells(MatchedRow1, "N").Value
wsDest1.Cells(iRow1, "F").Value = wsLookup1.Cells(MatchedRow1, "D").Value
End If
End If
Next iRow1