Página 1 de 1

FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Ter Jan 15, 2013 8:04 pm
por silva_jmp
Olá pessoal estou utilizando o código abaixo para preencher um textbox em valor monetário, mas quando salvo na planilha esta no formato de texto, e na planilha tem alguns controles utilizando formulas, onde buscas estes dados, não conseguindo fazer a operação por ser tratar de texto, já fiz algumas pesquisas em foruns utilizei algumas alternativas , mas não certo.

Observação: tenho vários txtboxes desta forma.

Código: Selecionar todos

Private Sub txtDiaria_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Calculo
    txtDiaria.Value = Format(txtDiaria, "R$ #.00")
End Sub
deste já agradeço.

silva_jmp

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qua Jan 16, 2013 9:40 am
por joseA
Use a função de conversão CBbl()

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qua Jan 16, 2013 1:57 pm
por Mauro Coutinho
Silva a rotina que postou só aplica a formatação no Textbox, como não postou a rotina que utiliza para lançar o valor do textbox para a planilha, alem da dica do Jose, você pode utilizar :

txtDiaria.Value = Format(txtDiaria.Value, "currency")

Range("A1") = CCur(Me.txtDiaria)

[]s

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qua Jan 16, 2013 6:16 pm
por silva_jmp
Mauro e JoseA, obrigado pela dica, mas não consegui aplicar para meu problema, vou enviar o arquivo para vocês darem uma olhada.

silva_jmp
MenuSuspenso1.rar
(819.41 KiB) Baixado 1193 vezes

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qua Jan 16, 2013 8:06 pm
por Mauro Coutinho
Silva, você podia ter simplificado o exemplo somente com a duvida, não fiz testes, mas no form cadastro você faz chamada para a rotina lsInserirStudent e na mesma tem a linha que lança naaba Dados:

Sheets("Dados").Cells(iTotalLinhas, 12).Value = .txtDiaria

Troque pela a abaixo e faça os testes :

Sheets("Dados").Cells(iTotalLinhas, 12).Value = CCur(txtDiaria)

ou Formate a celula apos o lançamento original :
Sheets("Dados").Cells(iTotalLinhas, 12).NumberFormat = "$##,###.#00"

[]s

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qua Jan 16, 2013 9:32 pm
por silva_jmp
Mauro obrigado por atender, substitui conforme as duas dicas, mas não deu certo ainda esta salvando o numero armazenando como texto.

silva_jmp

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Qui Jan 17, 2013 8:34 am
por Mauro Coutinho
Silva, faça antes uma cópia do seu arquivo, e depois limpe toda a formatação e dados e procure efetuar novos cadastros com as rotinas que passei, se ainda não der certo, faça um exemplo reduzido somente com a questão, ficará mais fácil de analizar o arquivo.

De uma olhada nos links abaixo, veja que temos pouca variação nas formatações :
Assign Currency to Textbox Property
http://www.ozgrid.com/forum/showthread.php?t=52850

VBA Text Box displaying Currency
http://stackoverflow.com/questions/5980 ... g-currency

Textbox em vba Excel...Formato de moeda
http://social.msdn.microsoft.com/Forums ... c62cf5ad6/

Se pesquisar no Google por : format textbox currency excel vba - encontrara varias questõers relacioandas.

[]s

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Enviado: Dom Jun 10, 2018 9:13 pm
por Erikson
Bom esse post é bem antigo, mas como ele me ajudou diretamente hj, quero apenas confirmar que a dica do Mauro Coutinho foi certeira: "Range("A1") = CCur(Me.txtDiaria)", para que outros que tenham esse problema leve a sério a dica que realmente é funcional.
Eu havia criado um form com um textbox que colocava valor em moeda, porem quando clicava no botão para aplicar o valor a uma célula, a célula assumia o valor porem ele entrava como texto e não moeda (número), assim os cálculos de outras formulas e gráficos não ocorriam.
O meu textbox chamava-se Valor2, a rotina era assim: Range("A2").Value = Me.Value2.Valor
adaptado conforme a dica do Mauro, ficou: Range("A2") = CCur(Me.Valor2), ai sim, entrou na célula A2 como moeda.