COmo Colocar Fecha de Manere Automática

Estoy haciendo un archivo de control documentario. Necesito que por ejemplo cuando ingrese un nombre en la celda A1, automáticamente en la celda B1 se llene la fecha y en la celda C1 la hora ACTUAL en la que estoy ingresando los datos. Luego deseoq ue esta hora y fecha sean inamovibles, es decir no cambien cuando cierre o abrar el atrchivo otra vez o reescriba algo en la celda A1.

1 Respuesta

Respuesta
2
Dale click derecho en la pestaña de la hoja->ver código
y pega esto
Private Sub Worksheet_Change(ByVal Target As Range)
celda1 = "A1"
celda2 = "B1"
celda3 = "C1"
If Not Application.Intersect(Target, Range(celda1)) Is Nothing Then
    Range(celda2) = Date
    Range(celda3) = Time
End If
End Sub
Efectivamente luego de agregar el siguiente código:
Private Sub Worksheet_Change(ByVal Target As Range)
celda1 = "A1"
celda2 = "B1"
celda3 = "C1"
If Not Application.Intersect(Target, Range(celda1)) Is Nothing Then
    Range(celda2) = Date
    Range(celda3) = Time
End If
End Sub

Cuando tipero algo en la celda A1, automáticamente en la celda B1 y C1 se llena la fecha y hora respectivamente. Sin embargo me gustaría que me ayudaran para poder completa 2 cosas:
1.- Que esto pueda hacerlo cada vez que llene datos en la columna A ( A1, A2, A3, etc)
2.- Que si ya escribí algo en alguna celda de la columna A y esto ha generado una hora y fecha esta no se vuelva a modificar. He probado y si volvía a tipear algo en la celda A1 por ejemplo la hora se actualizaba. Debería como conversrtirse en texto la hora y fecha.
La idea de esto es hacer un simple control documentario en el que registro los documenmtos que ingresan.
Slauods,
JJ
Private Sub Worksheet_Change(ByVal Target As Range)
col1 = "A:A"
If Not Application.Intersect(Target, Columns(col1)) Is Nothing Then
    If (Target.Offset(0, 1).Value = "" Or Target.Offset(0, 2).Value = "") Then
    Target.Offset(0, 1) = Date
    Target.Offset(0, 2) = Time
    End If
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas