Notifications
Clear all

VBA esta calculando valores decimais de forma errada

11 Posts
2 Usuários
0 Reactions
1,406 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Pessoal,

Estou tentando fazer um calculo básico de multiplicação entre 2 elementos. Porém no EXCEL o cálculo é um e no VBA é outro. Ja conferi e reconferi e esta tudo certinho, sem erros, mas esta dando uma diferença significativa. Estou tentando calcular uma dizima com outro valor decimal, seria assim:

0,103999999999999 X 0,19

Veja na planilha:

Se tentarem fazer esse calculo ate na calculadora o resultado será: 0,0197......

Porém no VBA o valor que esta sendo calculado é: 1,975999......

Vejam a imagem do VBA

 
Postado : 04/02/2015 7:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite Guima,

Essas imagens não ajudam muito.

Posta a parte do código que retorna esses valores.

Qualquer coisa da o grito.
Abraço

 
Postado : 04/02/2015 7:41 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Olhando rapidamente, os valores são os mesmos, no Excel e no VBA.

Só que o VBA está retornando ele multiplicado por 100.

Eu diria que a multiplicação está certa. Pode ser que houve alguma atribuição de porcentagem no código, ou que teve algum problema com vírgula.

Como o Bernardo falou, sem o código, fica difícil.

PS: eu testei aqui no VBA, e deu certinho.

 
Postado : 04/02/2015 7:52 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Os números são praticamente iguais....
Vc sabe ler o E-02?!

Notação científica, é o mesmo que dividir por 100

Vcs estão focando no começo do número e nem olharam pro final...

Esse E-02 é exatamente o mesmo que "vezes 10 elevado a -2"

 
Postado : 04/02/2015 8:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal segue o arquivo.

Obrigado desde já

 
Postado : 04/02/2015 8:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Por favor leia minha resposta

E por favor compacte seus anexos sempre.

 
Postado : 04/02/2015 8:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

ok, Fernando. Vou compactar.

Eu ja havia lido sua resposta. Mas como eu configuro o TEXTBOX para exibir o valor como na planilha ? Pois se ele exibir esse valor que consta, todos os cálculos na sequencia vão ficar errados.

EM TEMPO: AH, e eu desconhecia como ler o E-2

Obrigado

 
Postado : 04/02/2015 9:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
Textbox1.text = VBA.Format(calculo, "0.00000")

Coloque qtos zeros quiser.. (limite em 14)

 
Postado : 04/02/2015 9:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Beleza. VALEUU FERNANDO !

As vezes nós usuários (EU) quem complicamos as coisas.... :oops:

 
Postado : 04/02/2015 9:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

:D :lol:

Marque como resolvido clicando no botão verde acima da minha resposta ok?
Valeu

 
Postado : 04/02/2015 9:11 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Os números são praticamente iguais....
Vc sabe ler o E-02?!

Notação científica, é o mesmo que dividir por 100

Vcs estão focando no começo do número e nem olharam pro final...

Esse E-02 é exatamente o mesmo que "vezes 10 elevado a -2"

kkkkkk

Isso que dá entrar aqui morrendo de sono...

 
Postado : 04/02/2015 11:13 pm