Notifications
Clear all

Incluir valor com Virgula não é reconhecido na planilha

11 Posts
3 Usuários
0 Reactions
2,318 Visualizações
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Boa noite,

Tenho esse código abaixo, porém quando faço a inclusão na planilha que recebe não reconhece o valor que contem virgula. Números inteiros é reconhecido.

Um dos textbox que coloco o valor é txt_valor.

Exemplo: 100,51 na planilha não reconhece como número.

Caso também seja possível tenho esse problema a tempo, referente a data. Quando digito no formulario 10/4 a planilha reconhece como 4/10 e quando tento ver novamente no formulario no textbox aparece assim 42647.

______________________________________________

Sub incluir_cob()

Dim txt_vcto As Date
Dim txt_pedido As Integer
Dim txt_valor As Long

linha = 2
Do Until Sheets("relacao").Cells(linha, 1) = ""
linha = linha + 1
Loop
Sheets("relacao").Cells(linha, 1) = frm_cobranca.cb_controle.Text
Sheets("relacao").Cells(linha, 2) = frm_cobranca.txt_mes.Text
Sheets("relacao").Cells(linha, 5) = frm_cobranca.cb_nf.Text
Sheets("relacao").Cells(linha, 6) = frm_cobranca.txt_valor.Text
Sheets("relacao").Cells(linha, 7) = frm_cobranca.cb_cliente.Text
Sheets("relacao").Cells(linha, 8) = frm_cobranca.txt_emissao.Text
Sheets("relacao").Cells(linha, 9) = frm_cobranca.txt_vcto.Text
Sheets("relacao").Cells(linha, 10) = frm_cobranca.txt_pagto.Text
Sheets("relacao").Cells(linha, 11) = frm_cobranca.cb_status.Text
Sheets("relacao").Cells(linha, 12) = frm_cobranca.cb_banco.Text
Sheets("relacao").Cells(linha, 13) = frm_cobranca.txt_boleto.Text
Sheets("relacao").Cells(linha, 15) = frm_cobranca.txt_orcamento.Text
Sheets("relacao").Cells(linha, 16) = frm_cobranca.txt_obs.Text
Sheets("relacao").Cells(linha, 17) = frm_cobranca.txt_pgatraso.Text
Sheets("relacao").Cells(linha, 18) = frm_cobranca.cb_sttatraso.Text
Sheets("relacao").Cells(linha, 19) = frm_cobranca.cb_bcatraso.Text
Sheets("relacao").Cells(linha, 20) = frm_cobranca.txt_pgvencer.Text
Sheets("relacao").Cells(linha, 21) = frm_cobranca.cb_sttvencer.Text
Sheets("relacao").Cells(linha, 22) = frm_cobranca.cb_bcvencer.Text

End Sub

__________________________________________

Daniel Rodrigo

 
Postado : 16/04/2016 8:43 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Troque esta linha :
Sheets("relacao").Cells(linha, 6) = frm_cobranca.txt_valor.Text

Por esta e faça os testes :
Sheets("relacao").Cells(linha, 6) = Format(frm_cobranca.txt_valor.Text, "0.00")

[]s

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

 
Postado : 16/04/2016 9:21 pm
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Mauro boa noite,

Não deu certo segue a planilha, assim fica mais fácil.

Att.,

Daniel

Daniel Rodrigo

 
Postado : 16/04/2016 9:42 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Na rotina
Sub incluir_cob()

Na linha Dim txt_valor As Long apague As Long, faça isto em todas as rotinas.

Depois altere a linha que indiquei anteriormente pela a abaixo :
Sheets("relacao").Cells(linha, 6) = CDbl(frm_cobranca.txt_valor.Value)

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

 
Postado : 17/04/2016 12:12 am
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Valeu Mauro, muito obrigado. Deu certo.

Daniel Rodrigo

 
Postado : 17/04/2016 11:32 am
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Boa noite a todos,

Já postei semana passada esse problema, o Mauro Coutinho me ajudou. Mas como tinha dado certo finalizei e não tenho como perguntar de novo.

Estava Usando: Sheets("dadosorc").Cells(Linha, 15) = frm_orcamento.t_valor1.Value

E ficou assim: Sheets("dadosorc").Cells(Linha, 15) = CDbl(frm_orcamento.t_valor1.Value)

Porém tem mais comando que possuem a mesma nomenclatura acima mas se eu deixar em branco (não preencher a textbox) dá erro no código. Já mudei pra Val, mas não reconhece '15,25" apenas "15".

Aqui está o código resumido apenas para visualização:

Linha = 2
Do Until Sheets("dadosorc").Cells(Linha, 1) = ""
Linha = Linha + 1
Loop
Sheets("dadosorc").Cells(Linha, 1) = frm_orcamento.c_orcamento.Value
Sheets("dadosorc").Cells(Linha, 2) = CDate(frm_orcamento.t_data.Value)
.
Sheets("dadosorc").Cells(Linha, 14) = frm_orcamento.t_qtd1.Value
Sheets("dadosorc").Cells(Linha, 15) = CDbl(frm_orcamento.t_valor1.Value) <<<<<<<<<<<<<<<<<<
Sheets("dadosorc").Cells(Linha, 16) = frm_orcamento.t1_linha1.Text
.
Sheets("dadosorc").Cells(Linha, 23) = CDbl(frm_orcamento.t_valor2.Value) <<<<<<<<<<<<<<<<<

Agradeço a ajuda sempre.

Daniel Rodrigo

 
Postado : 22/04/2016 5:37 pm
Basole
(@basole)
Posts: 487
Reputable Member
 

já tentou usar Format:

Sheets("dadosorc").Cells(Linha, 15) = Format(CDbl(frm_orcamento.t_valor1.Value), "#,##0.00")

Click em se a resposta foi util!

 
Postado : 22/04/2016 6:46 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Drbeil

Uni os teus 2 tópicos, pois não é necessário criar outro tópico.
Quando aparecerem novas dúvidas, basta enviar uma MP para um moderador que destrancamos o tópico.

Favor ler:
viewtopic.php?f=7&t=16757

[]s

Patropi - Moderador

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

 
Postado : 22/04/2016 7:48 pm
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Basole boa noite,

Continua com o erro, caso eu não preencha nada. Tem 07 textbox de valor, se eu preencher apenas a primeira a textbox não depura.

Daniel Rodrigo

 
Postado : 22/04/2016 8:05 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O erro é porque como estamos convertendo e formatando um valor vindo de um textbox para numerico, se o mesmo estiver em branco temos o erro.
O ideal é fazer a verificação antes de lançar, e como não disse o que é para fazer se estiver em branco segue uma sugestão, é só ajustar para as demais:

If frm_cobranca.txt_valor = "" Then
    'Se valor em branco, coloca zero no lugar
    'Se for para deixar em branco, apague esta linha
    Sheets("relacao").Cells(linha, 6) = 0
Else
    Sheets("relacao").Cells(linha, 6) = CDbl(frm_cobranca.txt_valor.Value)
End If

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

 
Postado : 23/04/2016 12:04 am
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

MAuro, valeu mais uma vez.

É que usei o mesmo que mencionou anteriormente em outra form no mesmo arquivo mas até agora deu certo. Vamos se não aparece outro erro finalizando o formulário.

Daniel Rodrigo

 
Postado : 23/04/2016 5:45 pm