Saberexcel - o site de quem precisa aprender macros MS Excel VBA
Função personalizada "Decorrido" do aplicativo Microsoft Excel VBA, retorna a diferença de datas em duas determinadas datas, essa função é igual a função DATADIF, que retorna também a diferença de datas, Anos, meses, dias.
Baixe o exemplo de planilha no final da página. Espero que o exemplo possam ajudá-los, Fiquem com Deus. Expedito Marcondes.
Function Decorrido(DataInicial As Date, DataFinal As Date, TipoRetorno As Integer)
Dim AnoInicial As Integer
Dim AnoFinal As Integer
Dim MesInicial As Integer
Dim MesFinal As Integer
Dim DiaInicial As Integer
Dim DiaFinal As Integer
AnoInicial = Year(DataInicial)
MesInicial = Month(DataInicial)
DiaInicial = Day(DataInicial)
AnoFinal = Year(DataFinal)
MesFinal = Month(DataFinal)
DiaFinal = Day(DataFinal)
If DiaFinal < DiaInicial Then
DiaFinal = DiaFinal + (DateSerial(AnoFinal, MesFinal + 1, DiaFinal) - DateSerial(AnoFinal, MesFinal, DiaFinal))
MesFinal = MesFinal - 1
End If
If MesFinal < MesInicial Then
MesFinal = MesFinal + 12
AnoFinal = AnoFinal - 1
End If
Select Case TipoRetorno
Case 1 '\ retorna Ano
Decorrido = AnoFinal - AnoInicial
Case 2 '\ retorna o mês
Decorrido = MesFinal - MesInicial
Case 3 '\ retorna dia
Decorrido = DiaFinal - DiaInicial
End Select
End Function
USO DAS FUNÇÕES:
=decorrido($F6;$G$1;1) ' argumento (1) retorna Anos.
=decorrido($F6;$G$1;2) ' argumento(2) retorna Meses
=decorrido($F6;$G$1;3) ' argumento(3) retorna dias
CONCATENANDO DADOS USANDO A FUNÇÃO PERSONALIZADA 'decorrido"
="O Sr." &B5&" nascido dia [ "&TEXTO(D5;"dd/mmm/aaaa")&" ] Tem [ "&decorrido($D5;$E$1;1) & " ] Anos, "& decorrido($D5;$E$1;2) & " mese="O Sr." &B5&" nascido dia [ "&TEXTO(D5;"dd/mmm/aaaa")&" ] Tem [ "&decorrido($D5;$E$1;1) & " ] Anos, "& decorrido($D5;$E$1;2) & " meses e "&decorrido($D5;$E$1;3) & " dias"s e "&decorrido($D5;$E$1;3) & " dias"
' - - - - - - - - - - - - -- -- - - - - - - - - - - - - -
USO DA FUNÇÃO DATADIF - APLICATIVO EXCEL
=DATADIF($F6;$G$1;"y") 'Argumento("y") retorna anos
=DATADIF($F6;$G$1;"ym") ' Argumento("ym") retorna meses
=DATADIF($F6;$G$1;"md") 'Argumento("md") retorna dias
CONCATENANDO DADOS USANDO A FUNÇÃO DO APLICATIVO EXCEL 'DATADIF'
="O Sr."&B5&" nascido dia [ "&TEXTO(D10;"dd/mmm/aaaa")&" ] Tem [ "&DATADIF($D5;$E$1;"y")&" ] Anos, "&DATADIF($D5;$E$1;"ym")&" meses e "&DATADIF($D5;$E$1;"md")&" dias"
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Baixe o exemplo de planilha contendo os macros e fórmulas acima:
Excel planiha vba datadif personalizada (24.26 KB)