Cuando se trabaja por ejemplo en el control de horarios y turnos de un empleado, puede resultar útil hacer que Excel grabe automáticamente la fecha y hora en que se ingresa un dato o valor.
Como automatizar el ingreso de fechas en Excel.
Por ejemplo, si se ingresa un dato en la columna A, podemos hacer que la fecha o la hora se graben automáticamente en otra columna, lo cual agiliza el proceso pues evita tener que digitar la fecha o la hora, que por su formato no es un proceso tan rápido.
Para ello podemos hacer uso de un pequeño código en la hoja donde se introducirán los datos respectivos.
Vamos a hacer que cuando se ingrese un dato en la columna A, en la columna B se grabe la fecha y en la columna C se grabe la hora de forma automática.
Para ello damos clic con el botón derecho del mouse sobre la pestaña de la hora respectiva y seleccionamos la opción “Ver código”.
Se abre una ventana de Visual Basic donde copiamos el código.
Macro para el ingreso automático de fecha y hora de cada registro.
El código de la macro a utilizar es el siguiente:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
Range("B" & Target.Row) = Date
Range("C" & Target.Row) = Format(Now, "hh:mm")
End If
End Sub
Guardamos y listo.
Con esto, cada vez que se introduzca un dato en cualquier fila de la columna A, la fecha y hora se insertarán de forma automática en las columnas B y C y permanecerán constantes, esto es que cuando se habrá Excel nuevamente tales valores no se actualizarán.
Guía Laboral 2024
Conozca sus derechos y obligaciones laborales como trabajador o como empleador, y evítese problemas. Ver más.
Forma de citar este artículo (APA):
Gerencie.com. (2012, julio 17). Grabar fecha y hora cuando se ingresa un dato en Excel [Entrada de blog]. Recuperado de https://www.gerencie.com/gravar-fecha-y-hora-cuando-se-ingresa-un-dato-en-excel.html
Excelente, funciona correctamente, sin embargo yo utilizo escaner y se ingresa el código en la celda seleccionada, no me completa la fecha ni la hora, tengo que dar doble click a la celda para que se realice aparezca el dato…
Me ayudaría muchísimo algún consejo con este problema.
Buenas tardes
He probado el código y funciona perfectamente
muchas gracias
Hola, como podria adaptarlo a modo de que si pego valores en la celda C tambien me tome bien la fecha? porque solo los coloca si escribo en la celda pero si copio y pego valores estos no se colocan
Muchas gracias por la información. Como podría hacer lo mismo pero que me guarde ambos datos en la misma columna separadas por 2 espacios ?
Escribes la palabra “Now” ejemplo:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range(“A:A”)) Is Nothing Then
Range(“B” & Target.Row) = Now
End If
End Sub
Muchas gracias por el aporte, si funciona.
Hola, como podría hacer para que me aparezca la fecha solo cuando pone en la columna la palabra “Terminado”?
gracias