Aqui te dejo una variante que podría utilizarse llámándolo de otro procedimiento para saber si debe terminarse el proceso.
Código vb:
Ver originalPublic Function Crono(Optional Segundos As Integer) As Boolean
' Funcion cronómetro que se utiliza de dos maneras.
' Crono 60 'Inicia el Cronometro para una duracion del 60 segundos
' Crono 'Devuelve Verdadero si ha llegado al limite de tiempo
Static HoraLimite As Date
If Segundos > 0 Then
HoraLimite = DateAdd("s", Segundos, Now) ' Ahora + Segundos
Else
If Now >= HoraLimite Then Crono = True
End If
End Function
Public Sub PruebaCronometro()
Crono 15 'Inicia el cronómetro durante 15 segundos
Do
' En este bucle se efectuaría el proceso deseado
' comprobando si el crono ha llegado al limite para salir del bucle
If Crono Then Exit Do
Loop
End Sub
Saludos