Vídeo recomendado
https://youtu.be/diWPPPhW-9E

FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
silva_jmp
Colaborador
Colaborador
Mensagens: 16
Registrado em: Sáb Dez 03, 2011 10:37 am

FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem por joseA »

Use a função de conversão CBbl()


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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


silva_jmp
Colaborador
Colaborador
Mensagens: 16
Registrado em: Sáb Dez 03, 2011 10:37 am

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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 1165 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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


silva_jmp
Colaborador
Colaborador
Mensagens: 16
Registrado em: Sáb Dez 03, 2011 10:37 am

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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


Erikson
Colaborador
Colaborador
Mensagens: 80
Registrado em: Dom Ago 28, 2011 7:49 pm

Re: FORMATAR TEXTBOX PARA SALVAR COMO NUMERO

Mensagem 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.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder