Estableciendo una pausa entre instrucciones mediante VBA para Microsoft Excel.
El tercer elemento que necesitaremos para entender los bucles es la posibilidad de reproducirlo a cámara lenta.
Para ello lo que haremos es establecer una pausa entre las instrucciones.
El código usado en el ejemplo es el siguiente:
Primero mediante la instrucción Now se puede obtener la fecha y la hora actual.
Este es el aspecto que tiene.
TimeValue nos permite transformar una cadena de texto en un valor tipo fecha hora.
Mediante un MsgBox vemos su aspecto.
Si unimos estas dos instrucciones, podemos conseguir que mediante un condicional, no se ejecute la siguiente instrucción hasta que pase una cantidad de tiempo que sumemos al momento actual.
Suele sumarse un número de segundos a Now.
En el ejemplo sumamos 5 segundos TimeValue("00:00:05")
Se muestra un primer mensaje, y tras pulsar el botón Aceptar ....
Tras cinco angustiosos segundos de espera, se ejecuta la siguiente instrucción, mostrando el segundo mensaje.
Usaremos esta técnica para poder ver como se van ejecutando cada segundo las instrucciones en los bucles, ya que de forma contraria podría parecer que se ejecutan en un único paso.
Aquí tenéis el código VBA completo por si lo queréis copiar:
Option Explicit
Sub establecerPausa()
'con Now obtenemos la fecha y hora actual
MsgBox (Now)
'TimeValue permite transformar una cadena de texto en un valor Time de VBA
'TimeValue ("00:00:01") representa 1 segundo
MsgBox (TimeValue("00:00:01"))
'Application.Wait estable una pausa en el código hasta la fecha y hora indicadas
'Application.Wait(TimeValue("31/12/2999 00:00:00"))
'solo se ejecuratá el día de fin de año del año 2999
'Por lo tanto, si al momento actual Now le sumamos un segundo,
'estaremos creando una pausa
'en este caso vamos a establecer una pausa de 5 segundos
MsgBox ("Mensaje Uno.")
If Application.Wait(Now + TimeValue("00:00:05")) Then
MsgBox ("Mensaje Dos.")
End If
End Sub
No hay comentarios:
Publicar un comentario