Actualizar un campo fecha c/ cambio de una celda

Necesito que una celda me informe cuando fue la última modificación de una celda contigua.
¿Alguien podría ayudarme?
Saludos,
Respuesta
1
¿Qué es lo que necesitas?
a) Tienes ya una hoja y quieres saber cuándo se modificó una celda en concreto
b) Tienes una hoja y quieres que a partir de ahora aparezca en la celda contigua la fecha en la que se modificó.
Para la opción a) creo que tal cosa no es posible.
Para la opción b) sí que se puede, creando un macro que controle un evento cuando se cambie el valor de la celda y que copie la fecha en otra celda.
Si es esa opción y quieres que te eche una mano, dímelo.
Hola Angel, gracias por tu respuesta.
Yo tengo una tabla de seguimiento de pedidos de cotización.
Tengo una columna en la que voy a anotando los detalles del seguimiento para un pedido determinado y quiero que en la celda de al lado me aparezca la fecha de la última vez que modifiqué esa celda con algún comentario adicional
, o sea, que cuando cambie A1, en B1 se inserte la fecha (o se modifique la existente)
¿Se entiende?
Desde ya, gracias por tu tiempo.
Saludos,
Creo que el siguiente código de más abajo, que tendrás que copiar en el editor de Visual Basic de esa hoja, hace lo que quieres. Está preparado para chequear cambios en la columna A, y que te ponga la fecha en la B, pero lo puedes cambiar fácilmente a tu caso particular.
Si necesitas ayuda, dímelo. En caso contrario, te ruego finalices la pregunta para poder atender mejor al resto. Gracias.
Saludos
Angel
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim ValorPrevio

Private Sub Worksheet_Change(ByVal CeldaEditada As Range)
Dim RangoCeldaEditada, RangoCeldaSiguiente As String
    RangoCeldaEditada = Replace(CeldaEditada.Address, "$", "")
    If CeldaEditada.Cells.Count = 1 Then
        If CeldaEditada.Column = 1 And CeldaEditada.Value <> ValorPrevio Then
        'If CeldaEditada.Column = 1 And CeldaEditada.Value <> ""  _
           And CeldaEditada.Value <> ValorPrevio Then
            RangoCeldaSiguiente = "B" + Mid(RangoCeldaEditada, 2)
            Range(RangoCeldaSiguiente).Value = Date
        End If
    End If
End Sub


Private Sub Worksheet_SelectionChange(ByVal CeldaSeleccionada As Range)
    ValorPrevio = CeldaSeleccionada.Value
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas