¿Cómo agregar un botón en excel que capture hora y fecha del sistema?

Me gustaría saber como se puede agregar un botón en la hoja1 que capture la hora y fecha del sistema, también que capture la información ingresada en una celda de esa misma hoja, ¿y qué lo almacene(datos ingresados y hora y fecha del sistema) en la hoja 2 de mi libro?

1 respuesta

Respuesta
1

Primero entra en las opciones de excel y activa la casilla: mostrar ficha programador

Después en la ficha programador haces click en insertar y seleccionas botón de comando (ojo, en controles activex!).

Después haces doble click para entrar en el código del botón y añades:

hoja2.range("A4").value = Now

hoja2.range("A5").value = hoja1.range("C1").value

' Donde a4, a5 y c1 deben ser las celdas que contienen y vayan a contener los datos.

ya ingrese ese código y captura la fecha y hora en una misma celda, ahora lo que necesito es que la hora la capture en una celda y la fecha en otra distinta, y pasa algo, que cada vez que presiono el botón de capturar sustituye el registro hecho anteriormente, y lo que necesito es que se vayan guardando los registros de hora y fecha uno debajo de otro (estoy haciendo un control de asistencia para personal). en mi hoja 2 la columna B es para almacenar registros de fecha y la columna C es para hora.

Me tendrías q decir que numero de fila es la primera donde quieres agregar los datos

tengo dos botones activex, uno para registrar hora y fecha de entrada y otro para capturar hora y fecha de salida, el botón de entrada me tiene que guardar el registro en la fila B comenzando en la celda 3 (B3) y el botón de salida tiene que capturar los registros en la fila C (C3), el asunto es que cada vez que hago un nuevo registro me borra el anterior y yo quiero que se almacenen uno debajo del otro conforme los trabajadores marquen su entrada y salida. mira asi luce la tabla..

El código del botón:

Application.ScreenUpdating = False
Hoja2.Select
If Hoja2.Range( B3 ) <> Then
Hoja2.Range( B3 ).End(xlDown).Offset(1, 0).Activate
Else
Hoja2.Range( B3 ).Activate
End If
ActiveCell.Value = Date
ActiveCell.Offset(0, 1).Value = Time
Hoja1.Select
Application.ScreenUpdating = True

El botón de salida seria igual, pero cambiando la respectiva columna, tal vez deberías controlar que no te puedan cambiar la hora del ordenador en las directivas de windows para evitar trampas, a su vez bloquear la hoja de las horas para evitar cambios manuales.

¿Cómo vas con el código? Sino necesitas mas ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas