Saltar al contenido

Duda mensaje temporal (unas veces desaparece solo, otras no)


Shaekin

Recommended Posts

publicado

Buenos dias,

Tengo un problema con una macro que estoy haciendo. En ella lo que quiero es tratar datos de una lista de ciudades y que los copie y los pegue en otra hoja. Hasta aqui todo bien.

El problema viene cuando quiero que se muestre un mensaje temporal (MsgBox). El objetivo de este mensaje es pour un lado indicar al usuario la ciudad/municipio que se esta tratando, y también sirve para que el ordenador haga una pausa y actualice los datos de una hoja.

Aqui os subo dos ejemplos:

  • Ciudades : En este caso, la macro es solo para mostrar los mensajes y normalmente desaparecen cada 5 segundos (como indicado en la macro).
  • MacroIntento : Se trata de hacer lo mismo que en "Ciudades" salvo que aqui ya he introducido el resto de la macro que tiene que ejecutarse con cada sitio.

En ambos he introducido el codigo para que aparezca el "popup" :

 CreateObject("wscript.shell").Popup _
"En estos momentos estoy actualizando el sitio de : " & city & ".", 5, "Avance de la macro"[/CODE]

No entiendo por qué, en el fichero "MacroIntento" los mensajes no desaparecen. Estoy obligado a cliquear en "Ok" para que se ejecute.

Puede alguien decirme donde esta el error o como puedo conseguir que desaparezcan los mensajes ?

He intentado la otra opcion, crear un formulario, pero no me sirve para "parar momentaneamente" la macro y que se actualicen los datos de la hoja.

Gracias de antemano !!

Ejemplos.rar

publicado

.

¿ Porqué no usas la barra de estado de Excel y te olvidas de wscript.shell ?

De esta manera conseguirías que el mensaje estuviera el tiempo exacto que dura el tratamiento de cada municipio.

Ejemplo:

Application.StatusBar = "Procesando municipio de " & Municipio[/CODE]

.

publicado

Muchas gracias por tu proposición. Es cierto que funciona correctamente, pero no es exactamente lo que busco.

La idea de mostrar el municipio en tratamiento con un mensaje temporal de unos cuantos segundos es sobre todo para que el ordenador tenga tiempo suficiente para actualizar las celdas de una hoja.

Si no pongo nada y ejecuto la macro directamente (sin pausas) mi ordenador no ejecuta correctamente las acciones (copiar y pegar unos datos que aparecen para cada municipio). Para evitar este problema, si pongo un mensaje en plan Msgbox la acción se realiza correctamente.

El problema es que me gustaría evitar tener que cliquear en el "ok" del Msgbox para cada municipio. Es por ello que se me ocurrió la idea de hacer temporal el mensaje. Pero no consigo que en el programa "MacroIntento" (incluido en el primer fichero que subí) los MsgBox desaparezcan automáticamente. Estoy obligado a cliquear siempre en el famoso ok.

También he intentado el comando "Application.wait" para parar la macro, pero no me sirve de nada porque lógicamente pone todo en pausa y las celdas no se actualizan.

Gracias de antemano por vuestras proposiciones !

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.