Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/03/2007, 13:31
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Sonrisa Excel VBA. ¿como hago para buscar datos de otro libro?

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

Última edición por mrocf; 29/03/2007 a las 13:39