Consulta para Elsa Matilde. Desplegar TextBox al activar libro

Buen día Elsa!
Ojalá me puedas ayudar con otro problemita:


Estando en un libro excel (LIBRO1) abro, por medio de una macro, otro libro (LIBRO2).
La idea es: Desplegar un textBox POR UNA ÚNICA OCASIÓN al activar el LIBRO1 pero con la condición de haber (generado) abierto el LIBRO2 y estar en él (estar activo).


Para ello he pensado:


1ª Opción - Que "permaneciendo" en el LIBRO2 se despliegue (POR UNA ÚNICA OCASIÓN) en el LIBRO1 (sin estar activo aparentemente) un mensaje de texto (con opciones de SÍ y NO).


2ª Opción - O bien, podría ser, al desplazarse del LIBRO2 al LIBRO1, apenas activándolo se dispare dicho mensaje de texto POR UNA ÚNICA OCASIÓN,
la condición para ésto es que SE HAYA ABIERTO el LIBRO2, ésto es, mientras no se haya generado el LIBRO2 NO DESPLEGAR TextBox al activar el LIBRO1.


Esto es con lo que me he topado :
Desde la macro del LIBRO1 que generó el LIBRO2 y estando activo el LIBRO2 (estando en pantalla) mandé un textbox al LIBRO1, con lo cual, en la pantalla me situó en el LIBRO1 en espera de elegir la respuesta en el textbox, para luego, ya elegida, devolverme al LIBRO2. La intención era que no se viera ese proceso ni hacer todavía la elección hasta tomar alguna decisión con respecro al LIBRO2 (o salir de él), sólo entonces hacer la elección.


Lo que pasa es que no sé la forma de "saltarme" el tener que esperar la elección de la respuesta en el texbox para continuar con el programa.
Intuyo que debe haber otra forma de textbox que no impida la continuidad de la macro, es decir, el volver al LIBRO2 sin haber hecho la elección entre el SÍ y el NO del texbox en el LIBRO1(es decir, posponerla).
Siento que por ahí puede estar la respuesta.


O como lo había mencionado (tal vez lo más fácil), que apenas activando el LIBRO1 se diparase el textbox (sin haber hecho click en ningún punto), pero cumpliendo las dos condiciones principales, el HABER GENERADO LIBRO2 y que se despliegue el textBox POR UNA ÚNICA OCASIÓN.
De cualquier forma si tienes ésta solución o alguna otra alternativa te lo agradeceré.
Si acaso me excedí un poco en la exposición, una disculpa.
Muchas gracias.
Leo

P.D. Una vista amplia sería:

De una lista de precios (LIBRO1) se generó un pedido (LIBRO2), habiendo tomado una decisión sobre el pedido preguntar en la lista qué desea hacer.

1 Respuesta

Respuesta
1

Tomo nota de tu consulta. No finalices aún hasta que te envíe respuesta con el código.

Ok, Gracias......

Saludos........

Me es difícil entrar en tu razonamiento... ¿deseas enviar una consulta pero no te interesa lo que se responda hasta cerrar el libro? ¿Entonces por qué no lo envías recién al cerrar el libro?

Un Msgbox (o mensaje por si-no) no se puede enviar sin mostrarlo ni mucho menos interrumpir el proceso.

Así que te aclaro sobre tus comentarios:

Desde la macro del LIBRO1 que generó el LIBRO2 y estando activo el LIBRO2 (estando en pantalla) mandé un textbox al LIBRO1

Bien, aquí en esa macro se guarda una variable pública que indica si vez = 0, en ese caso será la 1ra vez )

Con lo cual, en la pantalla me situó en el LIBRO1 en espera de elegir la
Respuesta en el textbox, para luego, ya elegida, devolverme al LIBRO2. La intención era que no se viera ese proceso ni hacer todavía la elección

Si no querés que se vea no lo mandes todavía. Sino envialo (seguirás estando en la Hoja2) y guardá la respuesta.


Dejo un ejemplo del uso de estas variables.

Public respta As Byte
Public vez As Byte
Sub prueba()
Workbooks.Open ThisWorkbook.Path & "\Ej_Personal.xls"
'indico que todavía no regresé del libro2
vez = 0
respta = 0
sino = MsgBox("Responde por si o por no", vbYesNo, "ATENCIÓN")
If sino = vbYes Then respta = 1
'acá sigue tu proceso
'
End Sub

¿Estás hablando de una macro... seguro que todo está dentro de 1 sola macro? Dentro de un Sub...End Sub?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas