Usuário com melhor resposta
SALVANDO COMO TEXTO VINDO DE UMA TXTBOX NÚMERO

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
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:09
-
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 IfMuito Obrigado Amigo !!! Parabéns, Deus te abençoes Sempre.
Vlad Lemos
- Editado Vlle quinta-feira, 5 de maio de 2016 20:55
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:09
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:09
-
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 IfMuito Obrigado Amigo !!! Parabéns, Deus te abençoes Sempre.
Vlad Lemos
- Editado Vlle quinta-feira, 5 de maio de 2016 20:55
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 14:09
-