Excel - MACRO - Registro HORA inicio y final de tareas (x fila)

 
Vista:
sin imagen de perfil
Val: 200
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Quico (93 intervenciones) el 29/09/2019 08:30:44
Quiero poner un botón 'INICIO' y 'FINAL' a fin de registrar el inicio y final de un trabajo.
Las condiciones son:

1. Cuando le doy al botón INICIO, graba la hora del sistema en la celda L7.

Sub Hora()

Range("L7").Value = Time
MsgBox "Se ha registrado hora de inicio: " & Time, vbInformation

End Sub


2. Cuando le doy el botón FINALIZAR, graba la hora del sistema en la celda M7.

Sub Salida()

Range("M7").Value = Time
MsgBox "Se ha registrado hora de finalización: " & Time, vbInformation

End Sub

El problema es que estos botones quiero repetirlos en muchas filas para gestionar distintos tipos de tareas, con lo que en la fila 8 tendría que registrar L8 y M8, Fila 9 en L9 y M9...y así.
Y usando siempre la copia de los 2 botones (inicio & fin) que pongo al principio de cada fila.


Seguro que existe una sintaxis que en vez de decirle Range("L7").Value = Time, le indique que según la fila en la que hago click sobre el botón, inserte la HORA en la columna L y M en función de la fila.

Alguien sabría indicarme la solución?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfredo
Val: 355
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Alfredo (103 intervenciones) el 29/09/2019 18:11:46
Hola Quico

Podrías usar el siguiente código, para la hora de inicio

1
2
3
4
5
6
Sub Hora()
   '
   Hoja1.Cells(ActiveCell.Row, 12).Value = Time
   MsgBox "Se ha registrado hora de inicio:  " & Time, vbInformation
   '
End Sub

y para la hora de termino:

1
2
3
4
5
6
Sub Salida()
   '
   Hoja1.Cells(ActiveCell.Row, 13).Value = Time
   MsgBox "Se ha registrado hora de finalización:  " & Time, vbInformation
   '
End Sub

Únicamente debe ser INDISPENSABLE SELECCIONAR LA FILA DONDE ESTA EL BOTÓN ANTES DE PULSARLO, para que la celda activa se corresponda con el código propuesto

Espero te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 200
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Quico (93 intervenciones) el 30/09/2019 06:55:13
Hola Alfredo,

gracias por tu propuesta. Ha sido más sencilla de poner en práctica. :-)

He intentado poner una línea de texto (con salto de linea) que además me mostrara el RESULTADO (Tiempo Total) que hay en la celda 14.
Osea, que siempre dependería de la fila seleccionada, pero sería siempre la celda siguiente (14) a la que insertaba el valor horario en (ActiveCell.Row, 13)

Algo de este estilo (claro que no he sabido hacerlo)

MsgBox "Se ha registrado hora de finalización: " & Time + Chr(13) +
"Tiempo Total: " [el valor de la celda a la derecha de (ActiveCell.Row, 13) ,vbInformation
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 355
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Alfredo (103 intervenciones) el 30/09/2019 16:03:06
Prueba con esto para agregar el comentarios que dices


1
2
3
Hoja1.Cells(ActiveCell.Row, 13).Value = Time
   MsgBox "Se ha registrado hora de finalización:  " & Time & vbCrLf & vbCrLf & _
          "el tiempo total es de : " & Format(Hoja1.Cells(ActiveCell.Row, 14), "hh:mm:ss"), vbInformation

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 200
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Quico (93 intervenciones) el 30/09/2019 17:42:55
¡¡Pues genial Alfredo!!
Es exáctamente lo que buscaba!

Muchas gracias. :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Héctor Madriz
Val: 831
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

MACRO - Registro HORA inicio y final de tareas (x fila)

Publicado por Héctor Madriz (137 intervenciones) el 29/09/2019 21:08:01
Buen día, prueba esto:

Simula botones con hipervínculos dale formatos que tangan aspecto de botones y luego en la hoja agrega este código
1
2
3
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  If (Target.Range.Column = 1 Or Target.Range.Column = 2) And Target.Range.Row >= 7 Then ActiveCell.Offset(0, 11) = Time
End Sub

Anexo ejemplo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar