Saber mes y días entre dos fechas

Espero que me puedan ayudar tengo un Formulario en el cual tengo dos textbox( Fecha1, Fecha2) que le ingreso por ejemplo 01/10/2018 – 20/11/2018 lo que quiero saber cuantos meses hay y días restante.

Me explico que en otros textbox me ponga, por ejemplo 1 Mes y en otro 20 día.

Respuesta
1

[Hola

Suponiendo que las fechas están bien ingresadas, intenta con algo así:

Dim Fecha1 As Date, Fecha2 As Date
Dim totaldias As Integer, totalmeses As Integer
Fecha1 = TextBox1: Fecha2 = TextBox2
TextBox3 = VBA.DateDiff("D", Fecha1, Fecha2) & " Días"
TextBox4 = VBA.DateDiff("M", Fecha1, Fecha2) & " Meses"

Evidentemente tú reemplaza por los nombres de tus "TextBox"

Comentas

Abraham Valencia

Buenas es algo así que me gustaría conseguir:

Por ejemplo, si tengo en mi textbox1(fecha1) 01/09/2018 y en mi textbox2(fecha2)  tengo 20/11/2018

Que me diga que tengo en otros:

 textbox(txtdias) : 2 Meses

y en otro

textbox(txtMes): los días que tengo en el Textbox2(fecha2)  que serían 20 días

al ha si 2 menes y 20 días no sé si es posible

gracias

Prueba así:

Dim totaldias As Integer, totalmeses As Integer
totalmeses = Evaluate("datedif(" & "datevalue(""" & cvDate(Me.TextBox1) & """)" & ",datevalue(""" & cvDate(Me.TextBox2) & """),""YM"")")
totaldias = Evaluate("datedif(" & "datevalue(""" & cvDate(Me.TextBox1) & """)" & ",datevalue(""" & cvDate(Me.TextBox2) & """),""MD"")")
TextBox3 = totalmeses & " Meses y " & totaldias & " días"

Pero previamente en un módulo "standard" coloca esto:

Function cvDate(d)
  p1 = InStr(d, "/")
  P2 = InStr(p1 + 1, d, "/")
  cvDate = Mid(d, p1 + 1, P2 - p1) & Left(d, p1) & Mid(d, P2 + 1)
End Function

Comentas

Abraham Valencia

PD: No recuerdo al autor de la UDF

Muchas gracias es gusto lo que estaba buscando

Excelente, me alegro

Saludos]

Abraham Valencia

Hola Abraham el código que me proporcionaste está bien, pero he encontrado un pequeño problema cuando ingreso por ejemplo en la (Fecha1) 01/10/2018 y en la (fecha2) 31/10/2018 me da.

Fecha 0

Días 0

E intentado resolverlo, pero no lo he logrado a ver si me puedes ayudar te lo agradecería

[Hola

Pues eso no debería ocurrir, he hecho las pruebas respectivas y no sucede ¿no será que hiciste algún cambio del que no te percataste y/o que no has comentado?

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas