Notifications
Clear all

Somar Datas

5 Posts
4 Usuários
0 Reactions
911 Visualizações
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Olá amigos do fórum, venho novamente pedir a orientação dos nobres colegas.

Imaginem a seguinte situação:

Tenho 3 TextBox, informo uma data na primeira, outra na segunda e queria que o total de dias ficasse na terceira. Por exemplo:
Na TextBox1 eu coloco 01/01/2014
Na TextBox2 eu coloco 31/01/2014
Na TextBox3 teria que aparecer 30 (que seria o total de dias do período informado)

Já quebrei a cabeça procurando informações sobre datas, mas sem êxito.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 21/02/2014 3:13 pm
Weslley
(@weslley)
Posts: 90
Trusted Member
 

Meu caro,
Verifica se este exemplo atende a sua expectativa.
Aguardo o seu retorno...

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar

Atenciosamente,

Weslley Henrique S.S.
MOS (Microsoft Office Specialist)

"O impossível é uma questão de tempo!"
(Alberto Saltiel)

 
Postado : 21/02/2014 3:32 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

ve se ajuda:

Private Sub TextBox1_AfterUpdate()
If TextBox2 <> "" Then TextBox3.Value = CDate(TextBox2) - CDate(TextBox1)
End Sub

Private Sub TextBox2_AfterUpdate()
If TextBox1 <> "" Then TextBox3.Value = CDate(TextBox2) - CDate(TextBox1)
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 21/02/2014 3:34 pm
(@bilokas)
Posts: 168
Estimable Member
Topic starter
 

Desculpe a demora no Feedback.

Os exemplos propostos pelos amigos não atendem 100% do problema.

O problema está se dando por causa da variação de dias dos meses.

Por exemplo, se eu informar o período: 13/08/2014 à 02/09/2014 ele retorna 20 dias, mas na realidade são 21 (agosto é 31 e setembro é 30)

Precisava de uma forma de contornar essa questão dos meses.


DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]

 
Postado : 24/02/2014 11:02 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Creio que há uma questão de conceito na sua colocação.
A subtração de datas conforme o proposto, leva em consideração o numero de dias do mês, e aponta corretamente o numero de dias entre as mesmas.
Ocorre que na diferença entre dois números (datas são consideradas/tratadas como números) um dos "extremos" fica fora então 10 - 2 = 2 ;
assim como 41884 (número relativo a 2/9/2014) - 41864 (correspondente a 13/08/2014) resulta em 20. Já o resultado esperado (21) considera os extremos também, nessa situação deve-se acrescentar +1.
Uma outra maneira de "fazer" a subtração de datas é utilizar o DateDiff no VB ou seja Dias = DateDiff("d", DateValue(dt_inicio), DateValue(dt_fim)), porem aqui tambem o resultado é 20, para atingir o 21 deve ser Dias== DateDiff("d", DateValue(dt_inicio), DateValue(dt_fim))+1

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/02/2014 11:36 am