Calcular FechaFinal a partir de una FechaInicial ingresando el numero de meses...

Hola expertos, quisiera ver si me pueden auxiliar, lo que deseo es calcular la FechaFinal partiendo de una FechaInicial, indicando el numero de meses a transcurrir para que calcule la FechaFinal, ejemplo

FechaInicial 01/sep/2013

meses: 6

FechaFinal 28/feb/2014

Muchas gracias

[email protected]

Fernando Sanchez de Mexico

1 respuesta

Respuesta
1

Entiendo que tu problema no está en sumar los meses sino en controlar que no se vaya al mes siguiente.

Prueba esta función a ver si te sirve:

Function calculaFechaFinal(ByVal fechaInicial As Date, ByVal numeroMeses As Integer) As Date
' Esta función calcula el día correspondiente al paso de un número de meses tras una fecha
' Como se busca que sean 'n' meses desde la fecha inicial y final incluyendo ambos días,
' el cálculo lo haremos siempre con "fechaInicial-1".
Dim aux As Date
' Calculamos la fecha sumando los meses a la fecha inicial
aux = DateSerial(Year(fechaInicial - 1), Month(fechaInicial - 1) + numeroMeses, Day(fechaInicial - 1))
' OJO: Si el día de la fecha calculada es inferior al día de la fecha inicial significa que
' nos hemos pasado al mes siguiente
' Por ejemplo: 30/12/2012 + 2 meses daría el 30/02/2013 o sea 02/03/2013
If Day(aux) < Day(fechaInicial - 1) Then
' Hemos saltado de mes. Restaremos 1 día hasta llegar al último día del mes anterior
Do
aux = aux - 1
Loop Until Day(aux) >= 28
End If
calculaFechaFinal = aux
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas