YMMV, mas Visualizar - > Macros, adicione uma macro. Tente isso (altere as referências da célula conforme necessário):
Dim data, reference As Range
Set reference = Worksheets("Sheet2").Range("A1", "A42")
Set data = Worksheets("Sheet1").Range("B2", "F6")
For Each dataCell In data
For Each referenceCell In reference
If dataCell.Value = referenceCell.Value Then
Worksheets("Sheet1").Cells(dataCell.Row, 1).Value = dataCell.Value
End If
Next
Next
[Editar: se isso funcionar, você poderá acelerar um pouco parando de pesquisar uma linha quando encontrar uma correspondência. (Assumindo apenas uma correspondência possível por linha). por exemplo:
Sub newtest()
Dim data, reference As Range
Dim skipsome As Boolean
skipsome = False
Set reference = Worksheets("Sheet2").Range("A1", "A7")
Set data = Worksheets("Sheet1").Range("B2", "F6")
For Each dataCell In data
For Each referenceCell In reference
If dataCell.Value = referenceCell.Value Then
Worksheets("Sheet1").Cells(dataCell.Row, 1).Value = dataCell.Value
skipsome = True
Exit For
End If
If skipsome = True Then
skipsome = False
Exit For
End If
Next
Next
End Sub
Apenas nos seus dados de teste de 5 linhas, isso reduz os testes de comparação de células de 175 para 132.] [Edit2: faça o código funcionar]