Excel Función "HOY()" sin cambiar otro al otro día el valor establecido un día anterior.

En excel tuve la necesidad de que si la celda A3 no este vacía, tomara la fecha actual de la maquina ("HOY"), el problema:

=SI(A3="","",HOY())

El problema que se me presenta es que esa fecha me llevará un registro, y la función generará en días posteriores que esa celda tome el dia actual cada vez que se abra.

¿Como podría hacer para automatizar esa celda(que tome el dia actual), y que quede ese día que tomó ineditable, inactualizable y permanente.

1 Respuesta

Respuesta
1

No me quedo claro, quieres que se actualice la fecha la primera vez que abras el libro, ¿y al otro día que ya no se actualice?

Vamos a suponer que abres el libro la primera vez y la fecha es 15 de octubre. Entonces se guarda en A4 la fecha 15 de octubre.

¿El 16 de octubre abres nuevamente el libro y qué se supone que debe pasar? ¿A4 debe conservar la fecha 15 de octubre?

Cómo vamos a determinar que el 15 de octubre es la primera vez que abres el libro y por lo tanto A4 debe quedarse con la fecha de ese día? Tienes que indicarle a tu libro en alguna parte cuando para tí es la primera vez.

Cada fila es un registro, A4 es la fecha en la que se hace el registro.

cuando lleno la casilla "A3" simplemente que la "A4" toma la fecha actual, esto es fácil lograr con la siguiente formula:

=SI(A3="","",HOY())

Ahora, lo que no me funciona es la función "Hoy()" ya que otro dia que quiera abrir ese libro la misma función hará que esa casilla me tome la fecha actual "eso es lo que no quiero" quiero que se quede la fecha cuando incluí ese registro.

La casilla la quiero bloquear y hacerla no editable, ya que es para llevar un control y no quiero que le modifique la fecha (por eso no la dejo simplemente a disposición de que el usuario introduzca la fecha y modifique cuando el quiera.

¿Es decir, Como hago para que una casilla tome la fecha automáticamente en el momento que creo el registro, y conserve esa misma fecha que tomó para siempre?

Muchas Gracias.

Tendría que ser con una macro.

Instrucciones
1. Abre tu hoja de excel

2. Borra el contenido de A4 con la tecla Supr
3. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
4. Del lado izquierdo dice: VBAProject, abajo en worksheet(tu hoja), dale doble click.
5. Del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'Captura la fecha una vez
'Por.dam
If Target.Address = "$A$3" Then
    If Range("A4") = "" Then
        If ActiveSheet.ProtectContents Then
            ActiveSheet.Unprotect Password:="tuclave"
            Range("A4") = Date
            ActiveSheet.Protect DrawingObjects:=True, _
            Contents:=True, Scenarios:=True
        End If
    End If
End If
End Sub

6. En la macro en donde dice tuclave reemplázala por el password

7. Para proteger la macro, y obvio no puedan ver el password,

8. En el Editor de Visual Basic, ve al menú Herramientas, submenú Propiedades de (aquí dirá el nombre de tu archivo), en la siguiente ventana con dos fichas General y Protección, en Protección, marca la casilla de verificación "Bloquear proyecto para visualización" y captura la contraseña de macro, puede ser diferente a tu password de hoja.

9. Ahora Protege tu hoja (Menú: Herramientas / Proteger / Proteger hoja. Escribe tu password de hoja

10. Guarda tu libro y cierra
11. Abre tu libro.

La primera vez que captures algo en A3, quedara almacenada la fecha en A4

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas