Basado en el ejemplo de las imágenes, este podría ser un código funcional:
Nota: Debes tener ambos libros abiertos al mismo tiempo.
Sub passClaves()
Dim libro1 As Workbook: Set libro1 = Workbooks("Libro1.xls")
Dim libro2 As Workbook: Set libro2 = ThisWorkbook
Dim hojaL1 As Worksheet: Set hojaL1 = libro1.Sheets("Sheet1")
Dim hojaL2 As Worksheet: Set hojaL2 = libro2.Sheets("Sheet1")
Dim uF1 As Long, uF2 As Long
uF1 = hojaL1.Range("A" & Rows.Count).End(xlUp).Row
uF2 = hojaL2.Range("A" & Rows.Count).End(xlUp).Row
Dim nombre1 As Range, nombre2 As Range
Dim Nombres1 As Range: Set Nombres1 = hojaL1.Range("A2:A" & uF2)
Dim Nombres2 As Range: Set Nombres2 = hojaL2.Range("A2:A" & uF2)
For Each nombre2 In Nombres2.Cells
If Not IsEmpty(nombre2) Then
With Nombres1
Set nombre1 = .Find(What:=nombre2.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not nombre1 Is Nothing Then
hojaL1.Cells(nombre1.Row, 6).Value = hojaL2.Cells(nombre2.Row, 7).Value
End If
End With
End If
Next nombre2
End Sub
Cabe destacar que si dos personas se llaman igual, puede haber conflicto. El rendimiento de este método dependerá de cuan grande sea el registro (cuantas filas hay)
Debes modificar los nombres de los libros, hojas y rangos en el código a la hora de adaptarlo a tu caso real.