Yo lo tengo de la siguiente manera
Un textbox de busqueda
Un listbox que muestra los resultado y cuando seleciono uno al dale doble clic este lo copia en la ultima celda vacia del rango asignado
HojaX es la hoa tuja osea hoja1 o hoja2 no se cual es la tuya
Nombre de tu hoja es donde esta la base de dato
En el textbox en el evento change
Private Sub TextBox1_Change()
hojaX.select
ListBox1.Clear
valor = TextBox1.Value
Set busca = Sheets("nombre de tu hoja").Range("C:C").Find(valor, LookIn:=xlValues, lookat:=xlPart)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ubica2 = "$A$" & busca.Row
ListBox1.AddItem Range(ubica2)
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = Range(ubica2).Offset(0, 1)
ListBox1.List(i, 2) = Range(ubica2).Offset(0, 2)
ListBox1.List(i, 3) = Range(ubica2).Offset(0, 3)
ListBox1.List(i, 4) = Range(ubica2).Offset(0, 4)
Set busca = Sheets("nombre de tu hoja").Range("C:C").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End Sub
en el listbox en el evento dloble
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
fila = Sheets("nombre de tu hoja donde vas a copiar el dato").Range("G65536").End(xlUp).Row + 1
For x = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(x) = True Then
hojax.Cells(fila, 7).Value = ListBox1.List(x, 0)
hojax.Cells(fila, 8).Value = ListBox1.List(x, 1)
End If
Next
fila = fila + 1
listbox1.clear
End Sub
No olvide valor si te ayuda