Postada em 28/03/2011 19:13 hs
Está função é bem completa para isso q vc quer fazer: Public Function diferença_datas(Dtini As Date, Dtfin As Date) If IsNull(Dtini) Or Dtini > Now Or Dtini > Dtfin Then MsgBox "Data inválida !", vbCritical, "Data Inválida" Exit Function End If diferenca = Dtfin - Dtini
xAnos = diferenca / 365.25 anos = Int(xAnos) xMeses = (xAnos - anos) * 12 meses = Int(xMeses) dias = DateDiff("d", DateSerial(DatePart("yyyy", Dtini) + anos, _ DatePart("m", Dtini) + meses, Day(Dtini)), Dtfin)
If dias = 30 Or dias = 31 Then dias = 0 End If If meses = 12 Then meses = 0 anos = anos + 1 End If If anos > 1 Then anos = anos & " anos " Else anos = anos & " ano " End If If meses > 1 Then meses = meses & " meses " Else meses = meses & " mês " End If If dias > 1 Then dias = dias & " dias " Else dias = dias & " dias " End If diferença_datas = anos & meses & dias End Function
|