Sería fabuloso si en tus imágenes pusieras un ejemplo completo.
Pero en la "sheet1" no existe ninguno de tus datos que están en la "sheet2".
También sería fabuloso si pusieras valores en las columnas C y D.
Como te comenté en mi nota:
Recuerda, nos estás pidiendo ayuda ... así que ayúdanos, brindando la información que necesitamos para hacerlo, incluso si esa información te parece "obvia"
Voy a tratar de entender lo que necesitas...
Como no sé qué tienes en las columnas C y D y tampoco tu explicación es clara de lo que quieres hacer con esas columnas, ni tampoco las pusiste en el resultado. ENTONCES, la macro solamente va a trabajar con la columna A de la hoja "Sheet1".
La siguiente macro lee los valores de la Sheet2 y los busca solamente en la columna A de la Sheet1.
Sub Buscar_Multidatos()
Dim a As Variant, b As Variant, c As Variant
Dim dic As Object
Dim i As Long, j As Long
'
Set dic = CreateObject("Scripting.Dictionary")
'
a = Sheets("Sheet1").Range("A1", Sheets("Sheet1").Range("B" & Rows.Count).End(3)).Value
b = Sheets("Sheet2").Range("A1", Sheets("Sheet2").Range("A" & Rows.Count).End(3)).Value
ReDim c(1 To UBound(b, 1), 1 To 2)
'
For i = 1 To UBound(a, 1)
dic(a(i, 1)) = a(i, 2)
Next
'
For i = 1 To UBound(b, 1)
If dic.exists(b(i, 1)) Then
c(i, 1) = b(i, 1)
c(i, 2) = dic(b(i, 1))
End If
Next
'
With Sheets("Sheet3")
.Cells.Clear
.Range("A1").Resize(UBound(c, 1), 2).Value = c
End With
End Sub
DAnte, lo que pones en la nota es una verdad como un templo. - Julián González Cabarcos