Cuadro de espera mientras ejecuto macro

Necesito que alguien me ayude tengo un un from creado y hay tengo un comboxox cuando ejecuto las macros que están en mi combobox necesito que aparezca un cuadro que diga espere por favor y cuando las macros se terminen este se cierre automáticamente ayuda urgente
Bony
Respuesta
1
Podrías usar la función "showmessage" o la función "msgbox("tu mensaje").
La llamas antes de tus macros, la cierras después de tus macros. Con eso creo que sea suficiente.
El problema que ya tengo estos cuadro para otras cosas la idea que me das no me sirve ya que cuando me aparecen estos cuadro tengo que apretar aceptar la idea es que se desaparezcan automáticamente por favor ayuda
Puedes usar un segundo FORM en el que el evento "from load" sea los macros que tu quieres ejecutar.
LLamando al Form2(por ejemplo) desde el Form1 y cerrándolo automáticamente al acabar.
Otras opciones que pueda haber no las conozco.
Sabes no entendí nada de lo que me escribiste también se podría hacer con una progressba1 el problema es no se ejecuta cuando empiensan la macros es buena la idea de crear otro from pero no entiendo me podrías explicar detalladamente por favor
Tu programa se ejecuta desde un Form, normalmente llamado Form1. En los menús superiores, en proyecto, puedes agregar un nuevo Form, que por defecto se llamará Form2.
Una vez realizado ésto, al hacer doble click sobre el segundo Form, se creará por defecto el evento "From load", que se ejecutará siempre que se abra ese Form. Ahí deberías pegar el código de tus macros, en funciones diferenciadas que llamarás desde el evento anterior, o todo seguido incluyéndolo dentro del evento.
Al terminar dicho código puedes llamar a otra función en la cual incluyas el código
Form1. Open()
Form1.show()
Me. Close()
Ésto hará que se cierre y desaparezca el segundo form, y vuelva al primer form, si bien no volverá al punto donde lo abandonaste, si no al evento From load.
La progress bar has de ir incrementándola dentro de las macros manualmente. Definir máximo y mínimo, y con ello conseguirás lo pasos necesarios para que se vea el avance.
Es decir si tienes 4 macros que tardan el mismo tiempo en ejecutarse, por ejemplo, pondrías mínimo = 1 máximo = 5. Antes de empezar las macros la barra estaría en posición 1, tras la segunda le asignas posición 2... etc etc
Todas estas propiedades están accesibles escribiendo el nombre de la progressbar más un punto o "progressbar1. " por ejemplo.
super bien eres genialllllllllllllllllllll
pero me sal eun pequeño problemita
al colocar me.close() me manda un error si este lo coloco en comentario se queda pegado en el cuadro de mensaje que dice espere por favor
es lo único pero muchas gracias que puedo hacer con lo que te comente
Me sale error en el Me como lo puedo hacer por que al momento de ejecutar me aparece el cuándo pero se queda hay y no dsale nunca yo lo tengo que cerra
He usado "Me" pero también es posible usar Form1, Form2... el nombre del Form que quieras cerrar.
Form1. Open()
Form1.show()
Form2. Close()
Si no es eso, revisa la sintaxis o busca un poco por internet a ver si te falta una librería o algo así. Suerte.

2 respuestas más de otros expertos

Respuesta
1
Por motivo de salud no he piodido responder :
Te dejo un link relacionado con el tema:
http://www.exceluciones.com/portal/viewtopic.php?t=266&highlight=progressbar
Respuesta
1
No se que haces con tus macros, pero una solución tonta, podría ser crear un labelbox o textbox, aplicarle la falso a la propiedad visible y cuando antes de que vayas a ejecutar tus macroas le pones visible=true y cuando termines la macro pones visible=false
Lógicamente en ese textbox coloca el testo que tu quieras y del tamaño y posición que desees.
Yo seguiré mirando por si encuentro otra solución mejor
Si no te aclaras con esto dímelo...
Suerte
Hola gracias po responder y agradezco el tiempo la verdad no entendí mucho si pudieras ser un poco más especifico ya que todavía no tengo mucha experiencia en estos cuadros cuando ejecutas macros sabes a mi me había ocurrido hacer un progressbar1 lo trate de hacer u me resulta pero el incombiniente que tengo es que al momento de ejecutar las macro no hacer nada y cuando termina empiesa a contar de 1 a 100 no se como colocarlo para que se ejecute junto con las macros y termine junto con ellas por favor si se te ocurre algo lo que sea no dejes de avisarme cualquier idea es útil
La verdad es que yo nunca he utilizado el progressbar, pero he realizado una pequeña incursión y bueno puedes hacer lo siguiente, cuando se inicie la macro pon
        ProgressBar1.Value = 0
luego divide tu macro en 10 partes o de tal forma que se ejecuten estas lineas 10 veces
       If ProgressBar1.Value < 100 Then
            ProgressBar1.Value = ProgressBar1.Value + 10
       End If
Y asegurate que al terminar la macro pone ProgressBar1. Value=100, así se te llenar por completo la barra de esta y marcara que esta completo el proceso.
No se si es muy ortodoxo el método pero como digo yo, si te funciona es válido.
Si no me entiendes, posteame tu dirección de correo y nos intercambiamos ficheros...
Suerte
He creado un fichero a modo de ejemplo, que he colgado en la siguiente dirección
http://cid-3d609d87423f2eeb.skydrive.live.com/browse.aspx/P%c3%bablico?uc=1
Al abrir el fichero se te abrirá un cuadro con un progressbar y dos botones, uno para salir y otro para iniciar, este botón nos numera la primera columna desde el 1 al 100000 y va avanzando el progressbar según va marcando.
Este podría ser un ejemplo, tú aplícalo como sea tu necesidad, si sigues teniendo problemas, posteame tu direcciópn y nos intercambiamos el fichero para echarle un vistazo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas