|
|
|
|
|
Dicas
|
|
Visual Basic (Datas/Números/Strings)
|
|
|
Título da Dica: Calcular a Idade em Anos, Meses e Dias
|
|
|
|
Postada em 14/3/2004 por Riciê
Public Function CalcularIdade(DTNasc As Date) As String Dim Anos As Single, Meses As String, Dias As Single Dim UTDTNasc As Date If Month(DTNasc) <= Month(Date) Then If Month(DTNasc) <> Month(Date) Then UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy")) Else If Day(DTNasc) <= Day(Date) Then UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy")) Else GoTo NPassou End If End If Else NPassou: UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy")) - 1 End If Anos = DateDiff("yyyy", DTNasc, UTDTNasc) Meses = DateDiff("m", UTDTNasc, Date) If Day(Date) < Day(UTDTNasc) Then Meses = Meses - 1 Dias = DateDiff("d", DateAdd("m", -1, Day(DTNasc) & "/" & Month(Date) & "/" & Year(Format(Date, "dd/mm/yyyy"))), Date) ElseIf Day(Date) = Day(UTDTNasc) Then Dias = 0 ElseIf Day(Date) > Day(UTDTNasc) Then Dias = DateDiff("d", Day(DTNasc) & "/" & Month(Date) & "/" & Year(Format(Date, "dd/mm/yyyy")), Date) End If CalcularIdade = Anos & " Ano(s) " & Meses & " Mês(es) " & Dias & " Dia(s)" End Function
|
|
|
|
|