none
Somando Datas em textbox???AJUDA RRS feed

  • Pergunta

  • Caros amigos, criei uma userform e colquei 3 textbox, gostaria de colocar na textbox1 uma data (ex:01/09/07) na textbox2 valores em dias (ex: 20) e na textbox3 desse o resultado da soma desses valores (ex : resultado 21/09/07)
    Gostaria tbm de fazer o mesmo esquema mas com horas ( ex: textbox1= 2:00h  textbox2=3:00h , resultado=5:00h)

    Por favor me ajudem, muito obrigado!!!!!!!!!!!!!!!!!

    sábado, 15 de setembro de 2007 12:36

Respostas

  • Option Explicit

     

    Private Sub AtualizaData()
    If IsDate(Me.TextBox1) And IsNumeric(Me.TextBox2) Then
        Me.TextBox3 = DateAdd("d", Me.TextBox2, Me.TextBox1)
    End If
    End Sub

     

    Private Sub TextBox1_AfterUpdate()
    Call AtualizaData
    End Sub

     

    Private Sub TextBox2_AfterUpdate()
    Call AtualizaData
    End Sub

     

    sexta-feira, 21 de setembro de 2007 23:45
    Moderador
  • Fala amigo Luiz, como vão as coisas? Valeu pela sua ajuda, agora deu certinho, depois de perturbar vc durante um bom tempo, vc "matou a pau" o que eu queria.

    Muito obrigado pela sua ajuda!!!!

    Um grande abraço!!!
    sábado, 22 de setembro de 2007 16:03

Todas as Respostas

  • Para datas, use a função DateAdd:

    ?DateAdd("d",20,#9/16/2007#)
    06/10/2007

    Para as horas também:

    ?DateAdd("h",2,#3:00#)
    05:00:00

     

    domingo, 16 de setembro de 2007 13:06
    Moderador
  • Poxa amigão, muito obrigado mesmo pela sua atenção, mas será que poderia me explicar melhor? Poderei usar qualquer data nas textbox?
    Desculpa minha pergunta é que sou novato no assunto!!

    Muito obrigado
    domingo, 16 de setembro de 2007 13:18
  • Sim, qualquer data. No lugar do parâmetro de data, você coloca o nome da textbox que contém a data.

     

    domingo, 16 de setembro de 2007 13:46
    Moderador
  • Opa amigão vc é rápido mesmo em rsrsrsrsrsrsr

    Então pelo que entendi eu vou clicar na textbox3 e diditar o seguinte comando :

    ?DateAdd("d",20,#textbox1#)

    ?DateAdd("dd/mm/yy",#textbox2#)

    ?DateAdd("dd/mm/yy",#textbox3#)


    Se for isso deu erro. Será que poria escrever aqui para mim?

    Vms lá: o que eu quero fazer é simples (para vc né rsrsrsr) : criei uma userform e nela coloquei 3 textbox, quero que a textbox3 apareça a soma da textbox 1 + textbox2. Na textbox 1 eu digitarei uma data qualquer (ex: 01/09/07) na textbox2 digitarei um valor em dias (ex: 20 ) e na textbox3 aparecerá o valor da soma ex: 21/09/07

    Como ficaria então o comando?

    Amigão mais uma vez aquele abraço e muito obrigado!!!


    domingo, 16 de setembro de 2007 13:56
  • Não use "?", use "=".

     

    E para referenciar controles, não use "#", deixe o nome entre colchetes.

    quarta-feira, 19 de setembro de 2007 03:28
    Moderador
  • Caro amigão Luiz Cláudio, mais uma vez vc vem com sua ajuda e sua atenção e fico muito agradecido e ao mesmo tempo sem graça de ficar te perturbando com minha dúvida.

     

    Fiz o que vc mandou coloquei o seguinte comando

     

    =DateAdd("d",20,[textbox1])
    =DateAdd("dd/mm/yy",[textbox2])
    =DateAdd("dd/mm/yy",[textbox3])

    mas está dando o seguinte erro : "ERRO DE COMPILAÇÃO: ERA ESPERADO : NÚMERO DE LINHA OU RÓTULO OU INSTRUÇÃO OU FIM DE INSTRUÇÃO"

     

    Acho que esqueci de avisar, mas estou fazendo isso no VBA, ou seja, no Excel usando o VBA.

    Será que é isso que não está dando certo?

     

    Valeu meu amigo, um grande abraço!!!!

    quarta-feira, 19 de setembro de 2007 20:52
  • Oi Braz,

     

    a sintaxe exata depende do que você quer fazer, quando (que evento vai disparar o código), nome dos controles que serão preenchidos, etc., e isto não está claro.

     

    Como não tem noção de VBA, dificilmente conseguirá fazer sem um mínimo de estudo.

     

    Sugiro que pesquise um pouco aqui: http://msdn2.microsoft.com/en-us/isv/aa905357.aspx

     

    quinta-feira, 20 de setembro de 2007 03:44
    Moderador
  • Olá caro amigo Luiz blz? Entrei no link que vc indicou e achei muito legal. Mais uma vez valeu pela ajuda.

     

    Sobre o que quero fazer é bem simples:

     

    Abri uma planilha em branco no Excel e fui ao editor do VBA e criei uma userform e coloquei 3 textbox ( textbox1, textbox2, textbox 3 )

     

    Gostaria de colocar uma data na textbox1 (ex:01/09/07 ) e um valor de dias na textbox2 (ex: 20 ) e gostaria que na textbox3 desse o soma desses valores (ex: 21/09/07 ) .

     

    É só isso que eu quero.

     

    Dei dois cliques na textbox3 e coloquei o comando como descrevi acima mas não deu certo.

     

    Sei que vc deve ter coisas muito mais importantes para fazer, mas se poder colar aqui como ficaria a prgramação nesse exemplo que te dei ficarei mais uma vez agradecido pela sua ajuda.

     

    Aquele abraço!!!

     

    quinta-feira, 20 de setembro de 2007 20:34
  • Option Explicit

     

    Private Sub AtualizaData()
    If IsDate(Me.TextBox1) And IsNumeric(Me.TextBox2) Then
        Me.TextBox3 = DateAdd("d", Me.TextBox2, Me.TextBox1)
    End If
    End Sub

     

    Private Sub TextBox1_AfterUpdate()
    Call AtualizaData
    End Sub

     

    Private Sub TextBox2_AfterUpdate()
    Call AtualizaData
    End Sub

     

    sexta-feira, 21 de setembro de 2007 23:45
    Moderador
  • Fala amigo Luiz, como vão as coisas? Valeu pela sua ajuda, agora deu certinho, depois de perturbar vc durante um bom tempo, vc "matou a pau" o que eu queria.

    Muito obrigado pela sua ajuda!!!!

    Um grande abraço!!!
    sábado, 22 de setembro de 2007 16:03