Saltar al contenido

Recommended Posts

publicado

Hola:

Esta macro, coloca un reloj en A1, para arrancarlo, ejecutar la macro, y para pararlo, rellenar A1 con el color rojo.

Sub RELOJ()
On Error Resume Next
If ActiveSheet.Cells(1, 1).Interior.Color = vbRed Then
Application.OnTime Hora, "RELOJ", SCHEDULE:=False
Else
ActiveSheet.Cells(1, 1) = Now
Hora = Now + TimeValue("00:00:01")
Application.OnTime Hora, "RELOJ", SCHEDULE:=True
End If
End Sub
[/CODE]

Saludos.

publicado

Hola amigo:

¿Te has percatado que lo que detiene el OnTime no es el Schedule en False, sino el error generado por la macro, el cual no se visualiza por el uso del On Error Resume Next? Hasta donde recuerdo, la propiedad Schedule del Ontime solo puede ser cambiada a False a traves de otra rutina. Para que se me entienda, pues, siguiendo con tu idea, esta rutina tambien causaria el mismo efecto:

Sub RELOJ()
On Error Resume Next
If ActiveSheet.Cells(1, 1).Interior.Color = vbRed Then
Range("A1").Offset(-3, -2) = 3 ' observen la incoherencia que causara el error y detendra el Ontime

Else
ActiveSheet.Cells(1, 1) = Now
Hora = Now + TimeValue("00:00:01")
Application.OnTime Hora, "RELOJ", SCHEDULE:=True
End If
End Sub[/PHP]

Por cierto, para mejor visualizacion de "reloj", recomiendo colocar algun formato en el cual se vean los segundos

Saludos

Abraham

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.