introducir la fecha del dia

09/11/2007 - 10:29 por dubicm | Informe spam
hola

mi problema es el siguiente. estoy dando de alta en una base de datos de
excel altas de contratos y lo que quiero es que a los que hoy les de de alta
en el campo fecha alta se rellene automaticamente con la fecha de hoy, los
que de mañana de alta con la fecha de mañana y asi con todos.

la funcion hoy() no me vale porque a los que doy hoy de alta les pone la
fecha de hoy() pero mañana les cambia a la de mañana. hay alguna forma de
que se rellene automaticamente y no la tenga que escribir a mano y asi
poder bloquear el campo para que nadie lo pueda cambiar?

espero que me puedan ayudar ya que me urge mucho.

gracias de antemano.

saludos.

dubicm

Preguntas similare

Leer las respuestas

#6 AnSanVal
11/11/2007 - 12:46 | Informe spam
... veo que solo es posible con codigo.



Empleando la lógica: Las fórmulas se actualizan con cada recálculo, con el
fin de que "esten al día" cuando ocurra una variación en los datos, p.e. si
hay un nuevo gasto; que el total lo tenga en cuenta y se actualice.

En el caso que te ocupa (poner la fecha de HOY), mañana habrá variado un
dato que le influye, es decir la fecha, por lo tanto actualiza y cambia el
resultado. Esto hace que una fórmula no pueda ser empleada, ni siquiera con
una función propia.


Saludos desde Tenerife (Islas Canarias).
Respuesta Responder a este mensaje
#7 Nacho
03/02/2008 - 22:50 | Informe spam
Hola, yo necesitaba lo mismo para otra utulidad e Ivan de este foro me ha
dado la solución, la cual te pongo y te explico como utilizarla:

Debes copiar el siguiente código en un módulo:
Public Function FechaSi( _
Optional Condicion As Variant = "", _
Optional SiCumple As Variant = "", _
Optional SiNoCumple As Variant = "", _
Optional Formato As String = "dd/mmm/yy" _
) As Variant
If Condicion = "" Or Condicion = True Then
If SiCumple = "" Then
SiCumple = Format(Now, Formato)
ElseIf IsDate(SiCumple) Then
SiCumple = Format(CLng(CDate(SiCumple)), Formato)
End If
FechaSi = SiCumple
Else
If IsDate(SiNoCumple) Then SiNoCumple = _
Format(CLng(CDate(SiNoCumple)), Formato)
FechaSi = SiNoCumple
End If
End Function

Una vez hecho esto, puede utilizar la funcion - FechaSi() como otra
cualquiera, pej: si el primer dato de esa plantilla que rellenas lo haces en
a1 la función de la fecha sería así:

=si(a1>=1;FechaSi();"")

ESto te hará que si escribes el primer dato, se te rellene la fecha. Además
que es lo que buscas, cuando vuelvas abrir ese archivo, la fecha no se
actualiza, queda la del día que lo creaste.

Saludos y gracias a este pedazo de foro
"dubicm" escribió en el mensaje de noticias
news:%
hola

mi problema es el siguiente. estoy dando de alta en una base de datos de
excel altas de contratos y lo que quiero es que a los que hoy les de de
alta en el campo fecha alta se rellene automaticamente con la fecha de
hoy, los que de mañana de alta con la fecha de mañana y asi con todos.

la funcion hoy() no me vale porque a los que doy hoy de alta les pone la
fecha de hoy() pero mañana les cambia a la de mañana. hay alguna forma de
que se rellene automaticamente y no la tenga que escribir a mano y asi
poder bloquear el campo para que nadie lo pueda cambiar?

espero que me puedan ayudar ya que me urge mucho.

gracias de antemano.

saludos.

dubicm

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida