Notifications
Clear all

Somar casas decimais

5 Posts
4 Usuários
0 Reactions
1,017 Visualizações
(@adoniran)
Posts: 0
New Member
Topic starter
 

Olá! Estou usando a fórmula abaixo para somar (moeda) as células da mesma cor. O problema é que não está somando as casas decimais.
O que eu devo mudar ou acrescentar na fórmula para somar as casas decimais?

Function somacor(zona As Range, celula As Range)
    Dim c As Range, soma As Long, cor As Long
    Application.Volatile
    ' cor base
    cor = celula.Interior.Color
    'percorrer zona e somar valores desde que a cor seja igual à cor base
    For Each c In zona
         If c.Interior.Color = cor And c.Text <> 0 Then soma = soma + Val(c.Value)
    Next c
    'retorna a soma
    somacor = soma
End Function 

Obrigado!

 
Postado : 16/06/2017 1:39 pm
(@neri-s)
Posts: 0
New Member
 

Altere a sua formula Val(c.Value) para CDBL(c.value) e veja se funciona

 
Postado : 16/06/2017 1:51 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Adoniran,

Boa tarde!

Por gentileza, da próxima vez que inserir códigos VBA aqui no fórum, utilize a ferramenta CODE que existe no início da caixa dê mensagens.

Quanto a sua dúvida, além da dica já respondida pelo colega NERI S, se seus valores na planilha possuem casas decimais é muito bom que você declare as variáveis que receberão esses valores como Double e não como Long. Apesar da função de conversão CDBL fazer a conversão, muitas vezes o resultado pode ser imprevisível.

 
Postado : 16/06/2017 2:45 pm
(@adoniran)
Posts: 0
New Member
Topic starter
 

NERI S e wagner,

troquei val por CDBL e em "soma" coloquei double e funcionou!
Eu não sabia da ferramenta CODE. Usarei da próxima vez.

Obrigado!

 
Postado : 16/06/2017 3:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Essa resposta ele conseguiu em outro fórum, com a ajuda do Osvaldo.
https://forum.baboo.com.br/index.php?/t ... -decimais/

[]s

Patropi - Moderador

 
Postado : 16/06/2017 5:58 pm