¿Cómo puedo introducir al fecha y la hora en una hoja de excel al introducir un dato?

Estoy elaborando una hoja de Excel en la que quiero que al introducir un dato en una celda, se inserte automáticamente en otra celda la fecha y la hora. Lo he intentado con la función AHORA (=SI(A15<>0;AHORA())), pero al introducir más datos, se actualizan todos los anteriores con lo que todos los datos me salen con la fecha y hora del último introducido...
¿Alguien me puede ayudar?
Muchas gracias

1 Respuesta

Respuesta
1
Dime en que contexto deben aparecer las fechas o de que se trata más o menos el proyecto, para ver si te puedo ayudar. Por ahora, debes convertir las fechas que han aparecido a texto. Puedes crear una macro para eso.
Camarada, prueba con esto:
1.- Pulsa Alt+F11
2.- Doble Click en la hoja donde están los datos (puede ser Hoja1).
Se abrirá un módulo de Visual Basic y pegas el siguiente código (Copia y pega):
Private Sub worksheet_change(ByVal target As Range)
Application.EnableEvents = False
ActiveCell.Offset(-1, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Selection.NumberFormat = "d-mmm-yy"
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Application.EnableEvents = True
End Sub
Lo he hecho tal y como me escribiste, pero se siguen actualizando los valores de fechas y las horas (las he añadido en la función) conforme voy añadiendo más datos, es decir, no se queda la hora en la que inserto el dato.
Gracias
Perfecto, he tenido que tener los target, pero eso es exactamente lo que quería. Muchas gracias
Usa este código en un módulo de visual basic (Si no te funciona, mandame tu archivo a [email protected]):
Private Sub Worksheet_Change(ByVal Target As Range)
Application.MoveAfterReturn = False
If Target.Count = 1 Then
If (Target.Column = 4 And Target <> 0) Then
Target.Offset(-0, 1) = Now
End If
End If
End Sub
Viva Chávez!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas