Hola
Epa2: Mira, vamos por partes...
1) ActiveCell.Offset(0, 0) es lo mismo que: ActiveCell
2) Entiendo que lo que estás haciendo es tomar los valores del libro que abres y asignarlos a las cuatro
variables: "DNI", "APELLIDO1", "APELLIDO2" y "NOMBRE", para luego transferir ese valor a los "textbox" del mismo nombre.
Entonces solo te resta asignar los valores a las celdas mediante:
Código:
[A2].Formula = DNI
[B2].Formula = APELLIDO1
[C2].Formula = APELLIDO2
[D2].Formula = NOMBRE
3) Con respecto a esto otro:
Cita:
Iniciado por epa2 Al realizar la búsqueda, veo que se queda algunas veces el formulario como "pillado", como que no atrapa bien los datos y tengo que pulsar dos o tres veces el botón que activa la búsqueda para que al final me los pille bien, decir que busca en una hoja de excel el dni que está en formato de texto, ¿tendrá eso que ver algo con que se queda pillado con la busqueda?
En verdad, tu problema puede provenir de varias fuentes...
a) Chequea que estés pasando adecuadamente los parámetros de la búsqueda:
What:=DNI,
LookIn:=xlValues
LookAt:= xlPart
MatchCase:=False
b) Si cuando haces la búsqueda tienes abierto el UserForm, es probable que te convega no realizar tu búsqueda así:
Código:
Cells.Find(What:=DNI, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
sino así:
Código:
Set RangeDNI = Cells.Find(What:=DNI, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
Y luego reemplazas el "Activecell" por "RangeDNI":
DNI = RangeDNI.Value
APELLIDO1 = RangeDNI.Offset(0, 1).Value
Prueba con eso y luego nos cuentas.
Saludos