You are on page 1of 10

Cronometro en Excel

agosto 13, 2015 por Nolberto Lopez 7 Comentarios


Tener un cronometro o reloj en excel puede ser de ayuda en
casos donde se requiere llevar un control de tiempos, tal es
el caso de un cyber cafe o un billar, solo por poner ejemplos,
pero puede servir para muchos otros casos de Apps en Excel.

Para este caso veremos ejemplos de código vba que puede


ayudarte en la creación del cronometro y también en la
impresión de la hora en celdas para calcular tiempo
trascurrido.

El siguiente código genera el cronometro en la celda C2 de la


hoja llamada “reloj”
Sub auto_open()
Tiempo
End Sub
Sub Tiempo()
Sheets("reloj").Range("C2").Formula =
"=NOW()"
Application.OnTime Now +
TimeValue("00:00:01"), "Tiempo"
End Sub

Para que este código funcione correctamente, la celda que


contiene el reloj deberá tener formato de hora hh:mm:ss

Ahora si queremos imprimir en una celda la hora de inicio


de un periodo de tiempo y al final se imprima la hora en que
termina, para ello usaremos lo siguiente.

Macro para iniciar tiempo.

Sub inicio1()
Sheets("reloj").Range("C4") = Time
End Sub

Para finalizar tiempo.

Sub final1()
Sheets("reloj").Range("D4") = Time
Sheets("reloj").Range("E4") =
Sheets("reloj").Range("D4") -
Sheets("reloj").Range("C4")
End Sub

El resultado seria algo como esto.


En la imagen se observan dos botones, “Equipo 1 es para
iniciar el tiempo para el equipo 1, que puede ser el tiempo
para una computadora en un cyber o una mesa en un billar,
“Fin 1” es para finalizar el tiempo del equipo 1.

Ese es un ejemplo sencillo de la aplicación que se puede


hacer con esos códigos vba, pero eso mismo lo puedes usar
para adaptarlo a tus necesidades.

El control de tiempos en las reuniones es una parte importante para


lograr el cumplimiento de los objetivos. Desde Excel podemos diseñar un
contador por medio de una macro en la cual adaptaremos una celda
donde indicaremos el tiempo definido para la reunión y al iniciar la
intervención, se inicia un conteo regresivo para que al finalizar este
conteo automático, se presente un mensaje de alerta para finalizar.
Lo primero es personalizar el formato de la celda donde vamos a insertar
el tiempo de la reunión. Para ello, damos clic derecho sobre la celda A2 y
abrimos la ventana de Formato de celda:
En la pestaña Número seleccionamos la categoría Personalizada y en el
espacio de Tipo agregamos el siguiente texto: h:mm:ss
Damos aceptar y ahora coloquemos un tiempo de 5 segundos de prueba:

Ahora debemos crear la macro, para ello aplicamos la combinación de


teclas Alt + F11 para abrir el editor de visual Basic. En el panel de
explorador de proyectos ubicamos el libro de trabajo e insertamos un
Módulo:
Damos doble clic en el Módulo desde el explorador de proyectos y
pegamos el siguiente código:
Sub ProgramaCuentaRegresiva()
Dim CuentaRegresiva As Date
CuentaRegresiva = Now + TimeValue("00:00:01")
Application.OnTime CuentaRegresiva, "ProgramaCuenta"
End Sub
Sub ProgramaCuenta()
Dim Cuenta As Range
Set Cuenta = [A2]
Cuenta.Value = Cuenta.Value - TimeSerial(0, 0, 1)
If Cuenta <= 0 Then
MsgBox "Terminó el Conteo", vbExclamation, "Cuenta Regresiva"
Exit Sub
End If
Call ProgramaCuentaRegresiva
End Sub
Ahora volvemos a la hoja Excel, insertamos un cuadro y asignamos la
macro ProgramaCuenta (Clic derecho sobre el cuadro y seleccionamos
Asignar Macro):

Ya está listo, ahora solo queda dar clic y al finalizar el conteo aparece el
siguiente mensaje:

 ontactar
 Mapa Web
Controla el tiempo con un cronómetro en Excel
Publicada el 20/05/2018 por Trucos y Cursos

Compatibilidad:

Para gestionar el tiempo, te mostramos la macro de


un cronómetro en Excel.

 CREAR MACRO
1. Con Excel abierto.
2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor
de Visual Basic.
3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde
escribimos la macro.

4. Escribir el código de la macro:


Dim Incrementa As Date, t As Date
Sub Iniciar()
t = Time
Call Cuenta
End Sub
Private Sub Cuenta()
Range(“B3”).Value = 0
Range(“B2”).Value = 0
Range(“B3”).Value = “Tiempo transcurrido”
Range(“B2”).Value = Format(Time – t, “hh:mm:ss”)
Incrementa = Now + TimeValue(“00:00:01”)
Application.OnTime Incrementa, “Cuenta”
End Sub
Sub Parar()
Application.OnTime earliesttime:=Incrementa, procedure:=”Cuenta”,
schedule:=False
End Sub
5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
 EJECUTAR MACRO
1. Ejecutar la macro “Iniciar”.
2. Verificar como el cronómetro se pone a cero y comienza la cuenta en la celda
B2.
3. Ejecutar la macro “Parar”. Para detener el cronómetro.

You might also like