Ver Mensaje Individual
  #11 (permalink)  
Antiguo 02/04/2007, 09:58
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Re: Excel VBA. ¿como hago para buscar datos de otro libro?

Hola de nuevo......

es curioso esto de la programación, por lo que veo hay que utilizar más la
lógica que las mates, aunque ambas nunca se me dieron bien,

te cuento lo que me pasa,,,,

todo parece bien, abro el libro, realizo la búsqueda en el libro abierto, cojo
los valores, los agrego a los textbox y cierro el libro abierto anteriormente,
hasta aquí bien,, pues le añado las siguientes líneas (las que me
aconsejastes) para que tambien al mismo tiempo que realiza todo lo anterior,
meta los valores en las celdillas,,,



NOMBRE = RangeDNI.Offset(0, 1)
[A2].FormulaR1C1 = NOMBRE

APELLIDO1 = RangeDNI.Offset(0, 2)
[A3].FormulaR1C1 = APELLIDO1

APELLIDO2 = RangeDNI.Offset(0, 3)
[A4].FormulaR1C1 = APELLIDO2

En teoría parece que funciona, pero como la práctica luego a la hora de la
verdad pocas veces tiene que ver con la teoría, je je, pues esas líneas no me
incluye los valores en las celdillas, las deja vacías,, se ejecuta bien hasta
que se cierra el libro de donde sacamos los datos y se atrapan los valores en
los textbox, pero estas líneas que te he puesto no llegan a ejecutarse (en
concreto las [A2].FormulaR1C1 = NOMBRE, etc, etc.),

he estado mirando un poco el código, para ver donde podría estar el fallo, y
he visto que el clic del boton activa un procedimiento privado (private sub),
ignoro si esto tendrá que ver algo con lo que te comento.

Por otro lado, me he puesto a realizar pruebas, y he metido un segundo botón
en el formulario que hace esta línea con el clic

[A2].FormulaR1C1 = NOMBRE

¡¡¡y sin embargo este botón si cumple la instrucción!!!

Private Sub CommandButton1_Click()
[A4].FormulaR1C1 = APELLIDO2
End Sub

¿por que puede ser que el primer botón no me quiera hacer caso?



un saludete.

pd: la línea de cerrar el libro la tengo al final del procedimiento,, queda
así...

NOMBRE = RangeDNI.Offset(0, 1)
[A2].FormulaR1C1 = NOMBRE

APELLIDO1 = RangeDNI.Offset(0, 2)
[A3].FormulaR1C1 = APELLIDO1

APELLIDO2 = RangeDNI.Offset(0, 3)
[A4].FormulaR1C1 = APELLIDO2

ActiveWindow.Close SaveChanges:=False
__________________

***Aprendiz de todo y maestro de nada***