none
FUNÇÃO SOMACOR NÃO SOMA OS CENTAVOS DAS CÉLULAS RRS feed

  • Pergunta

  • APLIQUEI A FUNÇÃO SOMACOR A UM ÍNTERVALO DE CÉLUAS, MAS O RESULTADO OBTIDO NAO SOMA OS CENTAVOS DOS VALORES DAS CÉLULAS. 
    sábado, 15 de maio de 2021 12:58

Respostas

  • detalhe: eu não sei o que significam essas palavras. Não sou programador. preciso que vocês me ajudem da forma mais didática possível...rs

    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

    quinta-feira, 20 de maio de 2021 23:54
  • Postei a função, Fábio
    quinta-feira, 20 de maio de 2021 23:57

  • A função é esta: =SOMA(C$3:C$38)-SOMACOR(C$3:C$38;$D$57), onde $D$57 é uma célula na cor rosa. A função SOMACOR deveria somar as células do intervalo e deduzir as células na cor rosa. No meu caso, o resultado deveria ser 0,00 pois todas as células do intervalo estão em rosa. Porém, ela devolve o valor 7,07   (que é a soma dos centavos do intervalo). Ou seja, a função não está somando os centavos.


    sexta-feira, 21 de maio de 2021 00:06

Todas as Respostas

  • Jorge,

         Nunca tinha visto esta função...

    =======================================================
    Como Somar Cores no Excel: Com VBA

    Public Function SOMACOR(Cor As Range, Intervalo As Range) As Double
    Dim i As Range
    
        For Each i In Intervalo
    
            If i.Interior.Color = Cor.Interior.Color Then _
                SOMACOR = SOMACOR + i.Value
    
        Next
    
        Application.Volatile
    
    End Function

    https://studioexcel.com.br/como-somar-cores-no-excel/
    =======================================================


         Usei desta forma descrita na coluna "J" dentro da coluna "I".
         EXEMPLO: "H2" é a própria cor que será somada, neste caso a cor amarela e "A2:F2" é o intervalo que quero somar. Veja que a célula "D2" não mostra as casas decimais, mas elas estão lá!
         Na célula "I3" eu somei um intervalo de três linhas (A1:F3) usando a "cor" branca.

         No meu caso está somando os centavos, mas precisa ser vírgula (,), não pode ser ponto (.).
    Você pode postar a sua função?

    []'s,
    Fabio I.

    • Editado Fabio I sábado, 15 de maio de 2021 17:39
    sábado, 15 de maio de 2021 17:19
  • detalhe: eu não sei o que significam essas palavras. Não sou programador. preciso que vocês me ajudem da forma mais didática possível...rs

    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

    quinta-feira, 20 de maio de 2021 23:54
  • Postei a função, Fábio
    quinta-feira, 20 de maio de 2021 23:57

  • A função é esta: =SOMA(C$3:C$38)-SOMACOR(C$3:C$38;$D$57), onde $D$57 é uma célula na cor rosa. A função SOMACOR deveria somar as células do intervalo e deduzir as células na cor rosa. No meu caso, o resultado deveria ser 0,00 pois todas as células do intervalo estão em rosa. Porém, ela devolve o valor 7,07   (que é a soma dos centavos do intervalo). Ou seja, a função não está somando os centavos.


    sexta-feira, 21 de maio de 2021 00:06
  • Jorge,

       No caso da fórmula SOMACOR, tem certeza que a cor não vem na frente?
       Aqui está funcionando assim:

    =SOMA(C3:C38) - SOMACOR(D57;C3:C38)


       Você pode tentar duas coisas:
         - 1º Formatar as células para número e colocar as casas decimais;
         - 2º Separar a fórmula na soma e soma cor e depois subtrair as duas células;

    []'s,
    Fabio I.

    • Editado Fabio I sábado, 22 de maio de 2021 17:47
    sábado, 22 de maio de 2021 17:45
  • Fábio... a cor pode vir na frente ou no final, mas em nenhuma das duas situações a fórmula continua a desprezar os centavos ..... simplesmente não soma
    terça-feira, 25 de maio de 2021 01:36
  • Fábio... muito obrigado pelas dicas, mas somente consegui resolver colocando esta fórmula:

    gfTotalCor(2;C$3:C$38;$D$57)

    Valeu, mesmo, pela atenção dispensada.

    • Sugerido como Resposta Fabio I terça-feira, 25 de maio de 2021 09:44
    terça-feira, 25 de maio de 2021 02:26
  • Jorge,

        Quem bom que você conseguiu!
        Também não conheço esta função "gfTotalCor"... espere! É uma função do Excel ou uma programação de terceiros?

    ===================================================
    Contar, Somar e Média pela cor da célula no Excel

    'Realiza operações de contagem, soma e média pela cor da célula
    Public Function gfTotalCor(ByVal vTipo As Integer, ByVal vInterval As Range, ByVal vColor As Range) As Double
        'Recalcula a função em qualquer alteração da planilha
        Application.Volatile
        
        Dim vCel    As Range
        Dim vContar As Double
        Dim vSomar  As Double
        
        For Each vCel In vInterval.Cells
            If CLng(vCel.Interior.Color) = vColor.Interior.Color Then
                Select Case vTipo
                    'Contar
                    Case 1
                        vContar = vContar + 1
                    'Somar
                    Case 2
                        vSomar = vSomar + vCel.Value2
                    'Média
                    Case 3
                        vContar = vContar + 1
                        vSomar = vSomar + vCel.Value2
                End Select
            End If
        Next vCel
        
        If vTipo = 3 Then
            gfTotalCor = vSomar / vContar
        Else
            gfTotalCor = vSomar + vContar
        End If
    End Function

    https://www.guiadoexcel.com.br/contar-somar-e-media-pela-cor-da-celula-no-excel/
    ===================================================

    []'s,
    Fabio I.

    • Editado Fabio I terça-feira, 25 de maio de 2021 09:50
    terça-feira, 25 de maio de 2021 09:50