Grabar fecha y hora cuando se ingresa un dato en Excel

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.

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 siguiente código:

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.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

88 Opiniones
  1. alex dice:

    quiero hacer lo mismo introducer a2 y que la fecha se ponga en automatic en b2 sin que se actualize y que si borro a2 la fecha tambien se borre me podrian ayudar con ese codigo

  2. José Aguero dice:

    HOLA.... Buenas noches. Me pregunto si este código me funciona en access 2007; naturalmente que debo modificar su contenido; si alguien me presta su ayuda, sería excelente. Gracias.

  3. SANDRA dice:

    gustavo en la parte DONDE PONES EL CODIGO DE LADO DERECHO TIENES QUE GUARDAR TE SALDRA UN MSJ QUE DICE QUE EL TIPO DE ARCHIVO CONTIENE MACROS O ALGO ASI, DALE OPCIÓN SI Y TE MANDARA A GUARDARLO DE NUEVO SOLO QUE ESTA VEZ TIENES QUE GUARDARLO COMO LIBRO DE EXCEL CON MACROS

  4. SANDRA dice:

    misma pregunta que gustavo
    hola mira hice lo que explicas en esta pagina funciona bien pone la hora automáticamente al digitar en la otra celda pero cuando cierro todo el archivo o pago el pc y entro nuevamente el código esta en blanco y se ha perdido esta configuración,

    como debo guardarlo para que queden los datos

  5. Jesus dice:

    Como se hace si necesito que ponga la hora solo cuando haya insertado una letra o numero especifico y no cualquier cosa?

    por ejemplo:

    Que ponga la hora en B1 solo cuando inserto una "X" en A1

  6. Francisco dice:

    Hola, siguiendo el codigo he hecho una hoja donde controlo la entrada y salida de inventario, para la entrada del producto se digita el nombre del producto en la columna A y la fecha y hora aparecen en la coluna B y C respectivamente. En la misma hoja puse en la columna E la salida del producto deseando que apareciera automaticamente la fecha y hora en la columna F y G pero no logro agregar el codigo correcto, me imagino que si se puede pero obviamente no se como. Espero darme a entender. Gracias por cualquier ayuda.

    • Francisco dice:

      Bueno, pasaron varios días y vi que no habían respondido mi duda por lo cual me di a la tarea de tratar a prueba y error y al final obtuve el resultado que deseaba, a continuación dejo el código por si al alguien le sirve:

      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

      If Not Application.Intersect(Target, Range("E:E")) Is Nothing Then

      Range("F" & Target.Row) = Date

      Range("G" & Target.Row) = Format(Now, "hh:mm")

      End If

      End Sub

      Gracias mil por la ayuda inicial, realmente me ha servido de mucho

  7. Pedro dice:

    Hola buenas tardes , quiero realizar un formato de monitoreo y seguimiento que debe ser llenado minimo cada 20 minutos , pero quiero tener la seguridad que se realize en tiempo y forma. Hay alguna forma de que quede registrada el horario en que fue ingresado el dato correspondiente? agradezco el apoyo

  8. gustavo mora dice:

    hola mira hice lo que explicas en esta pagina funciona bien pone la hora automáticamente al digitar en la otra celda pero cuando cierro todo el archivo o pago el pc y entro nuevamente el código esta en blanco y se ha perdido esta configuración,

  9. mariela dice:

    hola necesito ayuda

    quiero hacer una base de datos en excel que al momento de modificar un registro con un useform, se modifique en la hoja asignada y que en otra hoja genere un historial de cada modificación realizada

  10. Francisco I dice:

    Saludos amigos, yo tengo un formato que hice hace mucho pero no recuerdo y quiero modificarlo. la situacion es la siguiente espero no sea muy compleja y puedan ayudar.

    Tengo 8 hojas de excel (una por semana de lun a vier) en la A1 tengo para insertar el dato (el dato viene de un codigo de barra de un producto) en A2 tengo el nombre del studiante en B2 tengo El ID del carnet (lo que seria la numeracion que representa el codigo de barra) al pasar el carnet por el escanner teniendo mi cursor en A1 el coloca en H3 la hora en le cual paso o se registro. Si vuelvo a pasar el carnet el se va a colocar la hora en I4 lo cual es perfecto que significa la hora de salida.

    El problema comienza aqui: en I4 se me coloca en rojo debido a que habia programdo (que no recuerdo como) para que despuesde cierta hora (cuando el estudiante llega tarde) se coloque en rojo de manera que sea facil de resaltar que entro despues de la hora o que salio despues de la hora.

    Pegunta, como hago para modificar ese horario o ese valor para poderlo usar en un ciurso con distinto horario y el estudiante no se vea afectado como que siempre llega tarde o se va temprano.

    Gracias!

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.