What happens if you change the code to this?
Dim A As Long
Dim rngX As Range
With ThisWorkbook.Worksheets("Join_Data")
For A = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
Set rngX = ThisWorkbook.Worksheets(.Cells(A, 1).Value).[D:D].Find(What:=.Cells(A, 2).Value, LookAt:=xlPart)
If rngX Is Nothing Then
MsgBox .Cells(A, 2).Value & " not found in column A of " & .Cells(A, 1).Value
Else
Set rngX = rngX.Offset(0, -2)
rngX.Value = .Cells(A, 6).Value
rngX.Offset(0, 4).Value = .Cells(A, 5).Value
End If
Next A
End With
Bookmarks