Excel planilha vba datadiff personalizada

Sex, 11 de Novembro de 2011 10:57 Expedito Marcondes
Imprimir

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)

Tags:
Última atualização em Sex, 11 de Novembro de 2011 11:18