Obtener la fecha de hoy() y pegarla en una celda a partir del resultado de una fórmula.

Para Dante Amor. Hola Dante, en la columna F tiene la formula : =+SI(D2=1;"Finalizado";SI(E2>1;E2-HOY();"")). Necesito que cuando el resultado sea "Finalizado" en F, me ponga en N la fecha de hoy(), pero como valor y que no se modifique mañana. En la lista puede haber muchos que ya finalizaron y con distintas fechas, a esas tampoco las modifique. Tendria que ser un condicional que si en N esta vacio y en F dice "finalizado " ponga la fecha de hoy en N, pero no me sale! Abrazo

1 Respuesta

Respuesta
2

Tiene que ser con una macro.

Las celdas a revisar son las de la columna D.

Si en la columna D no tienes fórmulas, entonces pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Columns("D")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = 1 Then
            Cells(Target.Row, "N") = Date
        Else
            Cells(Target.Row, "N") = ""
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias!  agarré la del post anterior y la modifiqué y me salio!!! mil gracias por tu dedicación

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.niko
If Not Intersect(Target, Range("D:D")) Is Nothing Then
If Target.Count > 10 Then Exit Sub
For Each c In Target
If Cells(c.Row, "F") = "Finalizado" Then
Cells(c.Row, "N") = Date
End If
Next
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas