Cronometro en Excel.

Necesito un cronometro en la celda (A2) de excel, que se active cuando pongo un valor en la celda (A1).

1 Respuesta

Respuesta
1
Bien quieres que vaya sumando (hacia delante) o que reste desde un tiempo dado (hacia atrás)
Aclarame y te pongo el código de VBA para hacerlo.
Hola Julio,
Debe de sumar. Desde el momento que pongo el valor en la celda (A1) en la celda (A2)
Aparezca el cronometro que empieza a contar el tiempo.
Un saludo Claudio.
Vamos a ver te he hecho un par de cosas más por que normalmente después de poner el cronometro siempre continuáis la pregunta alegando (¿Y para pararlo...?) Me explico:
-La macro como tú pedías se ejecuta si la celda A2 de la Hoja1 tiene algún valor si está vacía no hace nada.
En el momento que pones un valor y pulsas enter para validar el dato se pone en marcha un cronometro en la celda A1 en formato segundos "0:00:01" sumando segundos.
Ahora para pararlo te he puesto que en el mismo formato pongas en la celda B1 el tiempo que quieras que dure el cronometro, si analizas la macro puedes cambiar el lugar donde poner el valor, si por ejemplo es para hacer ejercicios a algún alumno puedes utilizar la celda última de la hoja "A65536" donde poner el tiempo y en formato de celdas eliges el color de la fuente el blanco y así no lo verán.
Entraen VisualBasic (Alt+F11) en la hoja1 del explorador de proyectos haces doble click y en el modulo de la derecha que estará en blanco pones este código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
If Target.Value <> "" Then
Call Crono
End If
End If
End Sub
Ahora haces click en el libro del modulo de la izquierda (ThisWorkbook ) y pulsas en la barra de herramientas (arriba) insertar y eliges Modulo.
Doble click en el Modulo1 que se habrá creado en el modulo de la izquierda debajo de ThisWorkbook y en el modulo en blanco de la derecha pegas este código:
Sub Crono()
Dim tiempo As Date
tiempo = Now + TimeValue("00:00:01")
Application.OnTime tiempo, "calcular"
End Sub
Sub calcular()
Dim mitiempo As String
mitiempo = Range("B1").Text
Range("A1").Value = Range("A1").Value + 1.15740740740805E-05
If Range("A1").Text = mitiempo Then
On Error Resume Next
Application.OnTime tiempo, "calcular", , False
GoTo saltar
End If
Call Crono
saltar:
End Sub
Y ya lo tienes cuando se ponga un valor en A2 y pulses enter o tabulador (salir de la celda) se pondrá en marcha el cronómetro, como ves te he elegido la celda B2 para poner el tiempo final tú cambias la celda a tu gusto y pones el valor eso sí recuerda el formato "0:00:00"
Saludos
Julio
Finaliza y puntúa la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas