Tenía full rato que no pasaba por aca... La razón de mi visita se debe a una inquietud que tengo... y no logro resolver...
Necesito determinar los días, meses y años entre dos fecha (si aplica) por ejemplo:
FechaInicial = 24/04/2010
FechaActual=07/06/2010
Y que la funcion me devuelva: en variables
Años= 0
Meses= 1
Dias= 12
'************************************************* **************'
He encontrado este codigo y trate de adaptar... Es una funcion que me devuelve una cadena en un formato algo asi: YYYY/MM/DD ... Luego fuera de la funcion trato el resultado por una cadena... ok
Pero la funcion no esta funcionando del todo bien... Porque al pasar la FechaInicial y la FechaActual ... me devuelve 0 años... 2 meses ... y -20 dias ...
Código:
Aca usan la funcion DateSerial que de verdad lo termino de entender... Y cuando a la variable FechaInicial le agregan los dias de la misma FechaInicial tampoco lo comprendo... Public Function Calcular_Ultima_Visita(FechaInicial As Date, FechaActual As Date) As String Dim Anios, Meses, Dias As Variant '**************************************************' Anios = DateDiff("yyyy", FechaInicial, FechaActual) If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then Anios = Anios - 1 End If FechaInicial = DateAdd("YYYY", Años, FechaInicial) Meses = DateDiff("m", FechaInicial, FechaActual) If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then Meses = Meses - 1 End If FechaInicial = DateAdd("m", Meses, FechaInicial) Dias = DateDiff("d", FechaInicial, FechaActual) If Format(FechaActual, "yyyy-mm-dd") < DateSerial(Year(FechaActual), Month(FechaInicial), Day(FechaInicial)) Then Dias = Dias - 1 End If FechaInicial = DateAdd("d", Dias, FechaInicial) Calcular_Ultima_Visita = Anios & "/" & Meses & "/" & Dias End Function
Por favor me dan una asesoria... Gracias
Saludos y Éxitos