Temporizador de VBA - Ejemplos para usar la función de temporizador de Excel VBA

Tabla de contenido

Función Excel VBA TIMER

VBA Timer es una función incorporada que se utiliza para darnos el valor fraccional de segundos, es una función muy útil que se utiliza para pausar a veces cualquier conjunto de códigos en ejecución o reanudarlos en función del tiempo proporcionado por el usuario, el temporizador es simplemente utilizado como una declaración en VBA con la entrada de tiempo.

En términos simples, el TEMPORIZADOR da el número total de segundos transcurridos desde la medianoche del día actual. Desde la línea uno del código, podemos rastrear el tiempo consumido por nuestro código para completar el proceso especificado en el subprocedimiento.

A veces, cuando escribe un código y desea probar la duración del código, es decir, cuál es el tiempo total que tarda su código en completar el subprocedimiento. Al probar la duración real que toma su código, puede hacer que su código sea eficiente y eliminar el proceso que consume mucho tiempo al eliminar códigos no deseados o largos de su módulo.

¿Cómo usar la función TIMER en VBA?

Como dije, la función TIMER regresa, el total de segundos pasaron desde la medianoche de la fecha actual. Cuando estoy escribiendo este artículo, la hora es 13:50:45 en India.

Creé un nombre de macro y asigné el valor de TIMER en el cuadro de mensaje de VBA.

Código:

Sub Timer_Example1 () MsgBox Timer End Sub

Cuando ejecuto este código, obtengo el resultado como 50480.08.

Este es el total de segundos que pasaron desde la medianoche de hoy, es decir, desde las 12:00:00 AM.

Así que desde la medianoche de las 12 hasta la hora actual 14:01:20, han pasado un total de 14 horas 1 minuto, 20 segundos. En segundos es igual a 50480.08, que viene dado por nuestra función TIMER.

Ejemplos

Ejemplo n. ° 1: Calcule el tiempo total que toma su código

Ahora realizaremos una codificación simple para probar el tiempo que tarda el VBA en ejecutar el procedimiento. He escrito un código, como se muestra en la siguiente imagen.

Código:

Sub Do_Until_Example1 () Dim ST As Single ST = Temporizador Dim x Tan largo x = 1 Do hasta x = 100000 celdas (x, 1) .Value = xx = x + 1 Loop MsgBox Timer - ST End Sub

Si ejecuto este código ahora, me mostrará el tiempo total que tarda el VBA en ejecutarse.

Dice 3.058594. El resultado que da esta función es en segundos, es decir, el tiempo total que toma este código es de 3.058 segundos.

Para que use el código, he escrito el siguiente código para usted.

Código:

Sub Timer_Example1 () Dim StartingTime As Single StartingTime = Timer 'Ingrese su código aquí' Ingrese su código aquí 'Ingrese su código aquí' Ingrese su código aquí MsgBox Timer - StartingTime End Sub

Use lo anterior y escriba su código después del código StartingTime = Timer, pero antes del código MsgBox Timer - StartingTime, es decir, en un área verde, debe ingresar su código.

Explicación: En primer lugar, la variable StartingTime = Timer significa que en el momento de ejecutar el código es igual al tiempo transcurrido desde la medianoche hasta el tiempo de ejecución del código.

Temporizador - Hora de inicio: Significa que después de ejecutar el código, ¿cuál es el tiempo transcurrido menos el tiempo registrado al comienzo del código en la hora de inicio variable ?

Esto dará la diferencia entre la hora de inicio y la de finalización y devolverá el resultado.

Ejemplo n. ° 2: mostrar el resultado en el formato de hora correcto

Como hemos visto, el resultado que da la función está en segundos pero no en un formato preciso. Sin embargo, podemos aplicar un formato de tiempo VBA al resultado final usando la función FORMAT.

Utilice el siguiente código para ver el resultado en el formato de hora correcto, es decir, formato "hh: mm: ss".

He usado la función FORMAT aquí. El resultado viene dado por (Temporizador - hora de inicio). Lo dividí por el número 86400 para convertirlo a segundos según las reglas de formato de hora, luego apliqué el formato de hora en un formato de hora, minuto y segundo.

Ahora, si ejecuto el código, dará el resultado como este.

Entonces, el tiempo total que toma el código es de 3 segundos.

La belleza de este código es el momento en que cruza los 60 segundos; mostrará el resultado en minutos. Detuve mi código ejecutándose por un minuto (usando Ctrl + Break) y veo el resultado.

Entonces, el tiempo total que toma este código ahora es de 1 minuto 2 segundos.

Ejemplo n. ° 3: código alternativo al temporizador

Existe una alternativa a TIMER usando la función NOW () . A continuación se muestra el código alternativo.

Cosas para recordar

  • La función TEMPORIZADOR descansará el valor al final del día, es decir, a las 11:59:59 PM.
  • La función AHORA devuelve la fecha actual y la hora actual.
  • TIMER muestra el total de segundos transcurridos desde la medianoche de la fecha actual.

Articulos interesantes...