Cómo retrasar la ejecución de una macro

En este artículo vamos a explicar el comando Wait. Este comando es muy sencillo y su utilidad principal es introducir un tiempo de espera determinado entre la ejecución de comandos en VBA. Es decir, lo que haremos es retrasar una macro en Excel.

Este comando es muy útil y ofrece un gran número de posibilidades si lo usamos junto a condicionales IF o con la ejecución de macros dependiendo de el cambio de valor de una celda.

El comando WAIT

El comando Wait funciona de la siguiente manera:

Application.Wait(Now + TimeValue(“00:00:05”))

Donde:

  • Now es el valor del tiempo en el momento de ejecución
  • TimeValue el número de segundos, minutos y horas que queremos que espere.

Es decir, el método WAIT hace que la aplicación entera de Excel espere un cierto tiempo antes de ejecutar los siguientes pasos.

Aunque también podríamos hacer que la ejecución parara hasta una hora en concreto:

Application.Wait “13:00:00”

Es decir, la macro se pararía en este punto y se reanudaría a la hora especificada, es decir, la una de la tarde.

Ejemplo  – Retrasar una macro en Excel

En este ejemplo hemos creado una macro muy simple que enseña en pantalla un mensaje después de esperar 5 segundos.

En el tiempo de espera tenemos que indicar el tiempo hasta el cual queremos esperar. Como se puede ver en nuestro ejemplo le hemos indicado que espere hasta el tiempo actual más 5 segundos.

El código completo de nuestro ejemplo es como se muestra a continuación:

Sub esperar()
Application.Wait (Now + TimeValue("00:00:05"))
MsgBox "Has esperado 5 segundos"
End Sub

La función TimeValue simplemente convierte una variable tipo String (“00:00:05”) a una valor de tiempo.

Bonus track: Descarga estos ejemplos

Ya se que estos ejemplos son muy golosos. Por eso te los dejo aquí para que te los puedas descargar y probar tú tranquilamente en tú ordenador.

 

Me llamo Ignacio Laquidain y estudié Ingeniería de Caminos en la Universidad Politécnica de Madrid. En la actualidad resido y trabajo en California.
La razón por la que aprendí Excel y VBA (y sigo aprendiendo) fue para evitar hacer trabajos rutinarios y rehacer cálculos de manera innecesaria. Pienso que cualquier trabajo repetitivo, por muy complicado que sea, es capaz de programarse.
Mucho de lo que he aprendido ha sido gracias a gente que desinteresadamente responde dudas en internet, cuelga tutoriales, comparte ejemplos etc. y esta es mi manera de continuar la cadena.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Shares
Share This

Comparte este post

Comparte si te resulta útil la información.