Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
Por JCabral
Avatar
#28026
Boa noite

Estou com um problema com a formatação de uma ComboBox, gostaria que ela apresentasse os valores em percentagem e mantivesse essa formatação quando eu escolho um dos itens, mas quando fizesse contas ou apresentasse os valores numa TextBox os valores fossem os corretos.

Ora o que acontece é que os valores das TextBox não aparecem corretamente.
O que estou fazendo de errado?

Obrigado
Jorge Cabral
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#28027
Veja se é isto. Não sei se entendi direito.
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por JCabral
Avatar
#28033
Babdallas, obrigado mais uma vez pela a sua ajuda.

O problema é que os valores que aparecem na ComboBox estão errados e eu não sei porquê.
Quando eu seleciono 10% aparece 100%,..., quando escolho 40% aparece 400% e depois os valores nas TextBox tb estão errados, ou seja quando tenho formatado os valores vêm "multiplicados" já por 10.

Será que as ComboBox só permitem ter valores inteiros?

Obrigado
Jorge Cabral
Por babdallas
#28035
Jorge,

no arquivo que te mandei não está acontecendo isso. Fiz ontem em casa e funcionou. Testei aqui no trabalho e também parece estar funcionando.
A combobox já vem com o formato em porcentagem. A primeira textbox repete o valor da porcentagem e a segunda textbox traz o percentual escolhido sobre o valor de 1000 (Ex: 20% de 1000 ==> irá aparecer 200).
Avatar do usuário
Por gfranco
Avatar
#28040
Bom dia.
Segue minha contribuição.
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por JCabral
Avatar
#28043
babdallas escreveu:Jorge,

no arquivo que te mandei não está acontecendo isso. Fiz ontem em casa e funcionou. Testei aqui no trabalho e também parece estar funcionando.
A combobox já vem com o formato em porcentagem. A primeira textbox repete o valor da porcentagem e a segunda textbox traz o percentual escolhido sobre o valor de 1000 (Ex: 20% de 1000 ==> irá aparecer 200).
Bruno

O problema que me está a acontecer é o seguinte:

Imagem

Mas quando uso uma ListBox já não acontece:

Imagem


E se fizer Debug.Print Format(Sheets("Listas").Range("A4"), "#.0%") dá correto

Como posso resolver isso?

Obrigado
Jorge Cabral
Editado pela última vez por JCabral em 06 Nov 2017 às 11:22, em um total de 1 vez.
Avatar do usuário
Por gfranco
Avatar
#28049
Boa tarde.
Veja se é assim que deseja.
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#28052
JOrge,

é estranho, porque não consigo simular este aparente erro, sendo que o código é o mesmo. Vou tentar fazer alguns testes e te aviso se souber o que está acontecendo.
Avatar do usuário
Por JCabral
Avatar
#28056
gfranco

O que eu queria era como aparece na sua sugestão, mas gostava de saber o que está errado na outra solução.

Vou ver se aparece alguma justificação.

Obrigado
Avatar do usuário
Por gfranco
Avatar
#28058
Boa tarde.
Não vi nada de anormal com a solução do colega babdallas.
Pelo menos, aqui comigo, funcionou perfeitamente a planilha que ele postou como sugestão.
Avatar do usuário
Por JCabral
Avatar
#28067
gfranco

O estranho é o que me está a acontecer, já viu os prtscreen que juntei? O que é que está a acontecer? Parece que a Combobox não assume valores decimais, só inteiros e ai 0,20 vira 2 e por aí adiante.

Não sei o que se passa. Isto tanto acontece na versão 2013 como na versão 2016.

Obrigado
Jorge Cabral
Avatar do usuário
Por JCabral
Avatar
#28071
Babdallas, gfranco

Será que se a atribuição de itens à ComboBox for feita através da propriedade RowSource os valores são em STRING e não com a formatação que está na folha do Excel?

Obrigado
Editado pela última vez por JCabral em 07 Nov 2017 às 10:31, em um total de 1 vez.
Por babdallas
#28072
Acho que não Jorge. Aqui no meu trabalho e na minha casa a combobox está sendo populada pela propriedade Rowsource e está funcionando adequadamente.
Não consigo imaginar o que pode estar acontecendo. Você está usando o arquivo que mandei, né?
Avatar do usuário
Por JCabral
Avatar
#28073
babdallas

Sim estou.
O problema, julgo eu pode estar em ele assumir "0.2", com ponto, e não "0,2" com virgula. Será?

Vou tentar testar com RowSource e com Additem e ver se dá diferente
Por babdallas
#28075
Aqui no meu Excel ele está com vírgula.

Tente então fazer pelo additem, e antes de adicionar, use o replace para substituir o ponto pela vírgula. Se não me engano, o Gfranco fez isso.
Avatar do usuário
Por JCabral
Avatar
#28076
Babdallas, gfranco

Coloquei uma segunda Combobox no exemplo mas fiz através do AddItem mas com Format e já da certo, sem Format fica igual.

Imagem

Alguma explicação?

Nota: Tem um erro no código mas que não deu erro, em vez de General deve ser "General Number"
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord