No olvides que en la informática un error puede tener diferentes resoluciones, no obstante nosotros mostramos la mejor y más óptimo.
Solución:
Puede usar el método descrito aquí de la siguiente manera: –
Crear un nuevo módulo de clase llamado StopWatch
Pon el siguiente código en el StopWatch
módulo de clase:
Private mlngStart As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Public Sub StartTimer()
mlngStart = GetTickCount
End Sub
Public Function EndTimer() As Long
EndTimer = (GetTickCount - mlngStart)
End Function
Usas el código de la siguiente manera:
Dim sw as StopWatch
Set sw = New StopWatch
sw.StartTimer
' Do whatever you want to time here
Debug.Print "That took: " & sw.EndTimer & "milliseconds"
Otros métodos describen el uso de la función de temporizador VBA, pero esto solo tiene una precisión de una centésima de segundo (centisegundo).
Si solo necesita el tiempo transcurrido en centisegundos, entonces no necesita la API TickCount. Simplemente puede usar el método VBA.Timer que está presente en todos los productos de Office.
Public Sub TestHarness()
Dim fTimeStart As Single
Dim fTimeEnd As Single
fTimeStart = Timer
SomeProcedure
fTimeEnd = Timer
Debug.Print Format$((fTimeEnd - fTimeStart) * 100!, "0.00 "" Centiseconds Elapsed""")
End Sub
Public Sub SomeProcedure()
Dim i As Long, r As Double
For i = 0& To 10000000
r = Rnd
Next
End Sub
Comentarios y valoraciones
Nos encantaría que puedieras difundir este ensayo si te valió la pena.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)