Notifications
Clear all

Retornar data com Datediff

5 Posts
1 Usuários
0 Reactions
1,557 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal tenho um formulário ontem tenho 2 textbox data inicial e data final

Preciso usar o datediff para me trazer o ano e os meses

ex:

Admissão = 01/01/2009
demissão = 01/03/2010
retorno = 1 ano e 3 mêses.

Com faço isso?

 
Postado : 31/08/2010 11:05 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Sendo E1="1/1/2009", E2="1/3/2010"

Fórmula para anos em I4: =ARREDONDAR.PARA.BAIXO(((ANO(E2)-ANO(E1))*12+MÊS(E2)-MÊS(E1))/12;0)
Fórmula para meses: =((ANO(E2)-ANO(E1))*12+MÊS(E2)-MÊS(E1))-(I4*12)

Testei aqui e deu certo. Somente para o total de meses: =(ANO(E2)-ANO(E1))*12+MÊS(E2)-MÊS(E1)

At.

 
Postado : 31/08/2010 7:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Então,

Mas preciso dessa formula em VBA pois estou tratando em formulário;!

Como ficaria?

 
Postado : 01/09/2010 4:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Aqui no forum tem explicação para a função datadif

Com a Função DATADIF() retorna a diferença entre duas datas.
=DATADIF(datainicial;datafinal;tipo de informação)

"d" Dias entre as duas datas.
"m" Meses entre as duas datas.
"y" Anos entre as duas datas.
"yd" Dias entre as datas, as datas, como se estivessem no mesmo ano.
"ym" Meses entre as datas, as datas, como se estivessem no mesmo ano.
"md" Dias entre as duas datas, como se as datas foram no mesmo mês e ano.

Data Inicial Data Final
06/07/09 10/07/09 o resultado será 04 tipo inf "d" =DATADIF(A1;B1;"d")
06/07/09 10/08/09 o resultado será 35 tipo inf "d" =DATADIF(A2;B2;"d")
06/07/09 10/11/09 o resultado será 04 tipo inf "md" =DATADIF(A3;B3;"md")
06/07/09 10/11/10 o resultado será 01 tipo inf "y" =DATADIF(A4;B4;"y")
06/07/09 10/11/10 o resultado será 16 tipo inf "m" =DATADIF(A5;B5;"m")
06/07/09 10/11/10 o resultado será 04 tipo inf "ym" =DATADIF(A6;B6;"ym")
06/07/09 10/11/10 o resultado será 127 tipo inf "yd" =DATADIF(A7;B7;"yd")
06/07/09 10/11/10 o resultado será 492 tipo inf "d" =DATADIF(A8;B8;"d")

Exemplos
A f'ormula =HOJE() retorna a data de hoje.( 08/07/2009 )
*Vamos supor q vc nasceu em 20 de Março de 1980….e vc quer saber quantos anos vc tem…colocando a data em A1, em qualquer outra célula digite. =DATADIF(A1;HOJE();"y"), o resultado será 29.
I*ncrementando mais um pouco vc pode digitar assim =DATADIF(A1;HOJE();"y")&" anos e "&DATADIF(A1;HOJE();"ym")&" meses"….o resultado será 29 anos e 3 meses
*E mais um pouquinho =DATADIF(A1;HOJE();"y")&" anos, "&DATADIF(A1;HOJE();"ym")&" meses e "&DATADIF(A1;HOJE();"md")&" dias"….o resultado será 29 anos, 3 meses e 18 dias

viewtopic.php?f=11&t=67

abraços

 
Postado : 01/09/2010 6:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Thank's!

 
Postado : 06/09/2010 12:30 pm