La función Timer en VBA retorna un tipo de dato Single, que representa el número de segundos transcurridos desde la medianoche del día actual.
La función no toma argumentos y por lo tanto la sintaxis de la función es simplemente: Timer()
Ejemplos de la Función Timer en VBA
Ejemplo 1: Uso de la función Timer para calcular el tiempo de ejecución de una sección de código VBA
Sub Timeador()
'Timear una sección de código utilizar la función Timer en VBA
Dim segundos1 As Single
Dim segundos2 As Single
Dim NumeroRandom As Integer
segundos1 = Timer()
'Código a ser timeado
'
'Ejemplo multiplicación random
NumeroRandom = Int((300 - 200 + 1) * Rnd + 200)
'
'Final del código a ser timeado
segundos2 = Timer()
'Mostrar la diferencia de tiempos y el número random en un MsgBox
MsgBox ("Tiempo utilizado para correr el código:" & vbNewLine & segundos2 - segundos1 & " segundos" & vbCrLf & "El número random generado es: " & NumeroRandom)
End Sub
Resultado:
Ejemplo 2: En este ejemplo se utiliza la función Timer para detener la aplicación. El ejemplo también utiliza DoEvents para pasar el control a otros procesos durante la pausa.
'Declaración de las variables
Dim TiempoPausa, Inicio, Final, TiempoTotal
If (MsgBox("Presione Sí para parar 5 segundos", 4)) = vbYes Then
TiempoPausa = 5 ' Asigna hora de inicio.
Inicio = Timer ' Establece la hora de inicio.
Do While Timer < Inicio + TiempoPausa
DoEvents ' Cambia a otros procesos.
Loop
Final = Time ' Asigna hora de finalización.
TiempoTotal = Final - Inicio ' Calcula tiempo total.
MsgBox "Detenida durante " & TiempoTotal & " segundos"
Else
End
End If
Resultado:
10/06/2020 a las 4:39 am
Muchas gracias!!