none
SALVANDO COMO TEXTO VINDO DE UMA TXTBOX NÚMERO RRS feed

  • Pergunta

  • Prezados colegas, sou iniciante em VBA e estou com um probleminha e preciso muito de ajuda,
    eu preciso salvar de um TextBox4 na Plan1, estava salvando como Texto, coloquei o CDbl, tirou o erro só que agora está ZERANDO O valor, deixando sempre ZERO.

    POR FAVOR, ONDE ESTARIA O ERRO NESSE CÓDIGO AMIGOS?

    Sub cadComp()

    linha = 10

    Do Until Sheets("CUSTOS DE COMPRAS").Cells(linha, 1) = ""
    linha = linha + 1
    Loop

             Sheets("CUSTOS DE COMPRAS").Cells(linha, 2) = telaComp.TextBox1.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 6) = telaComp.TextBox2.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 1) = telaComp.TextBox3.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(TextBox4)
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 8) = telaComp.TextBox5.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 9) = telaComp.TextBox6.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 10) = telaComp.TextBox7.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 11) = telaComp.TextBox8.Text
             Sheets("CUSTOS DE COMPRAS").Cells(linha, 12) = telaComp.TextBox9.Text
             
             CadCompProd
                      
               MsgBox "  Nota Cadastrada com SUCESSO!!", vbInformation, "  NOTA CADASTRADA"
             
             limpar
             

    End Sub

    quarta-feira, 4 de maio de 2016 20:34

Respostas

  • Bem vindo ao fórum

    Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Fique atento à questão de escopo de pasta de trabalho para evitar problemas quando tiver mais de uma pasta de trabalho aberta.

    ---

    Utilize variáveis para facilitar a manutenção e leitura do código.

    ---

    Sobre seu código, a linha abaixo pode ser perigosa:

    Sheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(TextBox4)

    Se TextBox4 apresentar um valor diferente de um número, você obterá um erro.

    Então, use o seguinte bloco de código:

    If IsNumeric(TextBox4.Text) Then
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(TextBox4.Text)
    Else
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = 0
    End If
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 5 de maio de 2016 11:49
    Moderador
  • Olá Felipe, SERVIU SIM !!!! FUNCIONOU !!!

    só acrecscentei a telacomp e funcionou !!

    ficou assim:

    If IsNumeric(telaComp.TextBox4.Text) Then
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(telaComp.TextBox4.Text)
    Else
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = 0
    End If

    Muito Obrigado Amigo !!! Parabéns, Deus te abençoes Sempre.

    Vlad Lemos

    quinta-feira, 5 de maio de 2016 20:35

Todas as Respostas

  • Bem vindo ao fórum

    Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Fique atento à questão de escopo de pasta de trabalho para evitar problemas quando tiver mais de uma pasta de trabalho aberta.

    ---

    Utilize variáveis para facilitar a manutenção e leitura do código.

    ---

    Sobre seu código, a linha abaixo pode ser perigosa:

    Sheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(TextBox4)

    Se TextBox4 apresentar um valor diferente de um número, você obterá um erro.

    Então, use o seguinte bloco de código:

    If IsNumeric(TextBox4.Text) Then
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(TextBox4.Text)
    Else
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = 0
    End If
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 5 de maio de 2016 11:49
    Moderador
  • Olá Felipe, SERVIU SIM !!!! FUNCIONOU !!!

    só acrecscentei a telacomp e funcionou !!

    ficou assim:

    If IsNumeric(telaComp.TextBox4.Text) Then
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = CDbl(telaComp.TextBox4.Text)
    Else
        ThisWorkbook.Worksheets("CUSTOS DE COMPRAS").Cells(linha, 7) = 0
    End If

    Muito Obrigado Amigo !!! Parabéns, Deus te abençoes Sempre.

    Vlad Lemos

    quinta-feira, 5 de maio de 2016 20:35
  • Olá,

    Tenho uma dúvida. O que é telaComp? Um formulário ou uma planilha?


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 5 de maio de 2016 21:56
    Moderador