Registrar automáticamente la Fecha y la Hora en la que se ingresa un dato a una Tabla

Código

Private Sub Worksheet_Change(ByVal Target As Range)
Dim t As ListObject, F As Long, IB_JMMA As Range


Set t = Me.ListObjects("")
F = t.HeaderRowRange.Row


Set IB_JMMA = Intersect(Target, t.ListColumns("").DataBodyRange)
If Not IB_JMMA Is Nothing Then
If IB_JMMA.Value <> "" Then


With t.ListColumns("").DataBodyRange
If .Cells(IB_JMMA.Row - F).Value = "" Then
.Cells(IB_JMMA.Row - F).Value = Format(Now, "mm/dd/yyyy")
End If
End With


With t.ListColumns("").DataBodyRange
If .Cells(IB_JMMA.Row - F).Value = "" Then
.Cells(IB_JMMA.Row - F).Value = Format(Now, "hh:mm:ss")
End If
End With
End If
End If
End Sub

Comentarios

  1. gracias por compartir su conocimiento una macro muy buena y util saludos

    ResponderEliminar
  2. ME ENCANTO TU VIDEO GRACIAS

    ResponderEliminar
  3. Hola, y en caso de ser varias las tablas?

    ResponderEliminar
    Respuestas
    1. Disculpa que responda a la fecha. La macro esta pensada para una sola tabla, para varias tablas el asunto se complica un poco por temas de que si las tablas tendrán o no la misma estructura. Para varias tablas te comparto esta alternativa que ofrece mayor libertad https://youtu.be/icups7cslUs?si=-wUgPn6aqV3sKDC4

      Eliminar
  4. Muchas gracias por esta excelente macro. un abrazo

    ResponderEliminar
  5. Gracias, me fue muy útil, pero como hago para aplicarlo en la misma hoja con otras celdas?

    ResponderEliminar

Publicar un comentario