07 May Crear un temporizador en Excel (macro)
Crear un temporizador en Excel (macro)
¿Cómo podemos crear un temporizador de actividad mediante el uso de macros en Excel?
La siguiente macro nos permite crear un temporizador con el cual podemos medir tiempos de distintas sesiones de trabajo en un libro y hoja con registros mediante macros de forma rápida y fácil en Excel.
La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:
CREAR UN TEMPORIZADOR EN EXCEL
Dim tiempoInicio As Date
Dim timerActivo As Boolean
Sub IniciarTimer()
tiempoInicio = Now
timerActivo = True
MsgBox "Temporizador iniciado"
End Sub
Sub DetenerTimer()
If timerActivo = False Then
MsgBox "Debe iniciar el temporizador antes de finalizar."
Exit Sub
End If
Dim duracion As Double
duracion = Now - tiempoInicio
Dim resultado As String
Dim totalSegundos As Long
Dim horas As Long
Dim minutos As Long
Dim segundos As Long
totalSegundos = duracion * 86400
horas = totalSegundos \ 3600
minutos = (totalSegundos Mod 3600) \ 60
segundos = totalSegundos Mod 60
resultado = Format(horas, "00") & ":" & Format(minutos, "00") & ":" & Format(segundos, "00")
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets("Registro")
On Error GoTo 0
If ws Is Nothing Then
Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
ws.Name = "Registro"
ws.Range("A1:D1").Value = Array("Tarea", "Inicio", "Fin", "Duración")
ws.Range("A1:D1").Interior.Color = RGB(255, 255, 153)
End If
Dim fila As Long
fila = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(fila, 1).Value = "Tarea X"
ws.Cells(fila, 1).Interior.Color = RGB(217, 217, 217)
ws.Cells(fila, 2).Value = tiempoInicio
ws.Cells(fila, 3).Value = Now
ws.Cells(fila, 4).Value = resultado
ws.Columns("B:C").NumberFormat = "dd/mm/yyyy hh:mm:ss"
ws.Columns("B:C").AutoFit
If ws.Columns("B").ColumnWidth < 20 Then ws.Columns("B").ColumnWidth = 20
If ws.Columns("C").ColumnWidth < 20 Then ws.Columns("C").ColumnWidth = 20
ws.Activate
ws.Cells(fila, 1).Select
MsgBox "Duración: " & resultado
timerActivo = False
End Sub
|
Notar que nombramos a las dos macros «IniciarTimer» y «DetenerTimer». Una vez creado el módulo debemos vincular ambas macros con los botones de formulario que realizan cada acción (iniciar y detener el timer).
De esta forma logramos crear un temporizador que mide tiempos de actividad en un libro y hoja de forma rápida y fácil mediante macros en Excel.
Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.
¿No sabés como instalar esta macro? ¡No te preocupes! Aquí está la solución:
TUTORIALSalvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores.
