Você está na página 1de 14

CrowdStrike®

OPEN
Protect Your Data

Como Contar e Somar Células por Cor de Fundo


no Excel
 Maio 3, 2021 (https://engenheiradoexcel.com.br/contar-somar-por-cor-excel/)  Érica
(https://engenheiradoexcel.com.br/author/erica_engenhariaexcel/)

Neste artigo, você vai aprender como contar células por cor no Excel e obter a soma das células
coloridas. Essas soluções funcionam tanto para células coloridas manualmente quanto com
formatação condicional. Você também vai ver como filtrar células por várias cores no Excel 2010,
2013, 2016 e 2019.

Se você costuma usar várias cores de preenchimento e fonte para diferenciar vários tipos de células
ou valores, eu aposto que é de seu interesse aprender contar quantas células são realçadas com
uma determinada cor na planilha. Se os valores das células forem números, é possivel calcular
automaticamente a soma das células sombreadas com a mesma cor.


Nova Rampage: Descubra o
Poder Que só Uma Ram Tem.
Acesse e Garanta a Sua

RAM Abrir

Talvez você já saiba que o Microsoft Excel fornece uma variedade de fórmulas para diferentes
propósitos, e seria lógico supor que existam algumas para contar células por cor. Mas, é uma pena
que ainda não exista uma fórmula que nos permita somar ou contar por cores em uma planilha Excel
comum.

Como contar e somar por cor no Excel


Suponha que a gente tenha uma tabela listando os pedidos de sua empresa onde as células na
coluna Entrega são coloridas com base em seu valor – as células “Vence em X dias” são laranja, os
itens “Entregues” são verdes e os pedidos “Vencidos” são vermelhos.

Nova Rampage: Descubra o


Poder Que só Uma Ram Tem.
Acesse e Garanta a Sua

RAM Abrir
O que queremos agora é contar automaticamente as células por cor, ou seja, calcular o número de
células vermelhas, verdes e laranja na planilha. Como expliquei, não existe uma solução direta para
essa tarefa. Mas, para nossa alegria, podemos desenvolver isso no VBA. Então, prossiga com as 5
etapas rápidas abaixo e você saberá o número e a soma de seus células coloridas em poucos
minutos.

1. Abra sua pasta de trabalho do Excel e pressione Alt + F11 para abrir o Editor do Visual Basic.
2. Clique com o botão direito do mouse no nome da pasta de trabalho em “EstaPastaDeTrabalho”
na parte direita da tela e escolha Inserir > Módulo no menu de contexto.

3. Adicione o seguinte código na planilha:


Function PegarCorDaCelula(xlRange As Range)
Dim indLinha, indColuna As Long
Dim arResults()

Application.Volatile

If xlRange Is Nothing Then


Set xlRange = Application.ThisCell
End If

If xlRange.Count > 1 Then


ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
For indRow = 1 To xlRange.Rows.Count
For indColuna = 1 To xlRange.Columns.Count
arResults(indLinha, indColuna) = xlRange(indLinha, indColuna).Interior.Colo
Next
Next
PegarCorDaCelula = arResults
Else
PegarCorDaCelula = xlRange.Interior.Color
End If
End Function

Function PegarCorDaFonte(xlRange As Range)


Dim indLinha, indColuna As Long
Dim arResults()

Application.Volatile

If xlRange Is Nothing Then


Set xlRange = Application.ThisCell
End If

If xlRange.Count > 1 Then


ReDim arResults(1 To xlRange.Rows.Count, 1 To xlRange.Columns.Count)
For indLinha = 1 To xlRange.Rows.Count
For indColuna = 1 To xlRange.Columns.Count
arResults(indLinha, indColuna) = xlRange(indLinha, indColuna).Font.Color
Next
Next
PegarCorDaFonte = arResults
Else
PegarCorDaFonte = xlRange.Font.Color
End If

End Function

Function ContarCelulaPorCor(rData As Range, CorCelulaRfe As Range) As Long


Dim indRefCor As Long
Dim cellAtual As Range
Dim cntRes As Long

Application.Volatile
cntRes = 0
indRefCor = CorCelulaRfe.Cells(1, 1).Interior.Color
For Each cellAtual In rData
If indRefCor = cellAtual.Interior.Color Then 
cntRes = cntRes + 1
End If
Next cellAtual

ContarCelulaPorCor = cntRes
End Function

Function SomarCelulaPorCor(rData As Range, cellRefCor As Range)


Dim indRefCor As Long
Dim cellAtual As Range
Dim sumRes

Application.Volatile
sumRes = 0
indRefCor = cellRefCor.Cells(1, 1).Interior.Color
For Each cellAtual In rData
If indRefCor = cellAtual.Interior.Color Then
sumRes = WorksheetFunction.Sum(cellAtual, sumRes)
End If
Next cellAtual

SomarCelulaPorCor = sumRes
End Function

Function ContarCelulaCorFonte(rData As Range, cellRefCor As Range) As Long


Dim indRefCor As Long
Dim cellAtual As Range
Dim cntRes As Long

Application.Volatile
cntRes = 0
indRefCor = cellRefCor.Cells(1, 1).Font.Color
For Each cellAtual In rData
If indRefCor = cellAtual.Font.Color Then
cntRes = cntRes + 1
End If
Next cellAtual

ContarCelulaCorFonte = cntRes
End Function

Function SomarCelulaCorFonte(rData As Range, cellRefCor As Range)


Dim indRefCor As Long
Dim cellAtual As Range
Dim sumRes

Application.Volatile
sumRes = 0
indRefCor = cellRefCor.Cells(1, 1).Font.Color
For Each cellAtual In rData
If indRefCor = cellAtual.Font.Color Then
sumRes = WorksheetFunction.Sum(cellAtual, sumRes)
End If
Next cellAtual

SomarCelulaCorFonte = sumRes
End Function

4. Salve sua pasta de trabalho como “Pasta de trabalho habilitada para macro do Excel (.xlsm)”.


Nova Rampage: Descubra o
Poder Que só Uma Ram Tem.
Acesse e Garanta a Sua

RAM Abrir

5. Escolha a célula onde deseja enviar os resultados e insira a função que acabamos de
criar: ContarCelulaPorCor

= ContarCelulaPorCor (intervalo; código de cor)

Neste exemplo, usamos a fórmula = ContarCelulaPorCor ($F$2: $F$14, A17) onde $F$2:
$F$14 é o intervalo contendo células codificadas por cores que se deseja contar e A17 é a célula
com uma determinada cor de fundo, vermelha no nosso caso .

De forma semelhante, escrevemos a fórmula para as outras cores que desejamos contar, laranja
e verde no caso.

Se tiver dados numéricos em células coloridas (por exemplo, a coluna Quatidade no nosso
exemplo), podemos adicionar os valores com base em uma determinada cor usando a função
análoga: SomarCelulaPorCor
= SomarCelulaPorCor (intervalo; código de cor)

Conforme demonstrado acima, usamos a fórmula = SomarCelulaPorCor ($D$2:$D$14; A17)


onde $D$2:$D$14 é o intervalo e A17 é a célula com um padrão de cor.

De maneira semelhante, podemos contar células e somar os valores das células pela cor da
fonte usando as funções ContarCelulaCorFonte e SomarCelulaCorFonte:


Nota: Se depois de aplicar o código VBA apresentado acima você precisar colorir mais algumas
células manualmente, a soma e a contagem das células coloridas não serão recalculadas
automaticamente para refletir as alterações.

Como contar e somar células por cor em toda pasta de


trabalho

O código VBA abaixo conta e soma as células de uma determinada cor em todas as planilhas da
pasta de trabalho:


Function ContarCelulaPorCorNaPlanilha(cellRefCor As Range)
Dim vWbkRes
Dim PlanilhaAtual As Worksheet

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

vWbkRes = 0
For Each PlanilhaAtual In Worksheets
PlanilhaAtual.Activate
vWbkRes = vWbkRes + ContarCelulaPorCorNaPlanilha(PlanilhaAtual.UsedRange, cellRefCo
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

ContarCelulaPorCorNaPlanilha = vWbkRes
End Function

Function SomarCelulaPorCorNaPlanilha(cellRefCor As Range)


Dim vWbkRes
Dim PlanilhaAtual As Worksheet

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

vWbkRes = 0
For Each wshCurrent In Worksheets
PlanilhaAtual.Activate
vWbkRes = vWbkRes + SomarCelulaPorCorNaPlanilha(PlanilhaAtual.UsedRange, cellRefCo
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

SomarCelulaPorCorNaPlanilha = vWbkRes
End Function

Use essa macro da mesma maneira que usou a anterior e produza a contagem e a soma das células
coloridas com a ajuda das seguintes fórmulas, = ContarCelulaPorCorNaPlanilha () e =
SomarCelulaPorCorNaPlanilha (). Basta inserir qualquer uma das fórmulas em qualquer célula
vazia de qualquer planilha sem definir um intervalo, especificar o endereço de qualquer célula da cor
necessária entre colchetes, por exemplo, = SomarCelulaPorCorNaPlanilha (A1), e a fórmula exibirá
a soma de todas as células sombreadas com a mesma cor na pasta de trabalho.

Funções personalizadas para obter a cor de fundo de uma célula,


cor da fonte e código de cor
Aqui você vai encontrar um resumo de todas as funções que usamos neste exemplo, e outras novas
que recuperam códigos de cores.

Observação: lembre-se de que todas essas fórmulas funcionam apenas se você tiver adicionado a
função definida pelo usuário à pasta de trabalho do Excel, conforme demonstrado anteriormente

neste artigo.

Funções para contar por cor:


ContarCelulaPorCor (intervalo; código de cor): conta as células com a cor de fundo
especificada. No exemplo acima, usamos a seguinte fórmula para contar células por cor =
ContarCelulaPorCor ($F$2:$F$14, A17) onde $F$2:$F$14 é o intervalo selecionado e A17 é a
célula com a cor de fundo necessária. Você pode usar todas as outras fórmulas listadas abaixo
de maneira semelhante.
ContarCelulaCorFonte (intervalo; código de cor) : conta as células com uma cor de fonte
específica.

Fórmulas para somar por cor:


SomarCelulaPorCor (intervalo; código de cor): calcula a soma das células com uma
determinada cor de fundo.
SomarCelulaCorFonte (intervalo; código de cor): calcula a soma das célulascom uma cor
de fonte específica.

Fórmulas para obter o código de cores:


PegarCorDaFonte (cell): retorna o código de cor da cor da fonte de uma célula específica.
PegarCorDaCelula (cell): retorna o código de cor da cor de fundo de uma célula específica.

Conclusão
Neste artigo vimos como criar funções no Excel, usando VBA, para contar e somar células coloridas,
ou com formatação diferenciada.

Caso tenha interesse em aprender mais VBA, nesse link aqui


(https://engenheiradoexcel.com.br/category/vba/) eu escreve sobre o tema.

O site deste pessoal aqui (https://www.ablebits.com/office-addins-blog/author/svetlana-


cheusheva/) foi referência para este artigo. O site é muitoooo bacana com várias dicas legais para
Excel, mas infelizmente o conteúdo está em inglês, o que não deixa de ser uma boa referência para
quem conseguir acompanhar. Eu recomendo.

Eu sei que não é comum ler um artigo deste, como tutorial, e repetir para aprender, mas recomendo
fortemente que você tome coragem de repetir todo o passo-a-passo. Eu penso que praticar é a
melhor maneira de aprender e, embora pareça simples, é preciso se acostumar a navegar entre as
telas e fórmulas do Excel para que no futuro você possa se tornar um usuário avançado.

Portanto, continue lendo mais sobre Dicas de Excel aqui


(https://engenheiradoexcel.com.br/category/dicas-excel/).

 Dicas Excel (https://engenheiradoexcel.com.br/category/dicas-excel/).  permalink


(https://engenheiradoexcel.com.br/contar-somar-por-cor-excel/).

 Como Alterar a Cor da Linha com Base no Valor de uma Célula no Excel

(https://engenheiradoexcel.com.br/alterar-cor-da-celula-por-valor-excel/)

Como Classificar e Filtrar por Cor ou Fonte da Célula no Excel  (https://engenheiradoexcel.com.br/filtrar-por-


cor-ou-fonte-excel/)
Um comentário sobre “Como Contar e Somar Células por Cor de
Fundo no Excel”
1. Pingback: Como Classificar e Filtrar por Cor ou Fonte da Célula no Excel | Engenheira do Excel
(https://engenheiradoexcel.com.br/filtrar-por-cor-ou-fonte-excel/)

Deixe um comentário
O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Comentário

Nome *

Email *

Site

Publicar comentário

Procurar... 

Planilhas Prontas Excel


ePlanilhas.com.br


Sobre mim

Engenheira eletricista que as vezes escreve no seu blog sobre os bizus secretos que conhece do Excel.

Me siga no Instagram!

 (https://www.instagram.com/engenheiradoexcel)

POPULARES RECENTES 

4 Formas Fáceis de Encontrar Valores Duplicados no Excel


(https://engenheiradoexcel.com.br/encontrar-duplicados-no-excel/)
excel/)
dos-no-
duplica
contrar-
m.br/en
xcel.co
eiradoe
engenh
(https:// Dez 28, 2018

Como Usar Função SE no Excel com Texto, Números, Datas e Células Vazias
(https://engenheiradoexcel.com.br/funcao-se-excel/)
excel/)
se-
ncao-
m.br/fu
xcel.co
eiradoe
engenh
(https:// Mar 6, 2019

5 Formas de Pesquisar por Palavra em Planilha no Excel


(https://engenheiradoexcel.com.br/pesquisar-palavra-no-excel/)
excel/)
-no-
palavra
squisar-
m.br/pe
xcel.co
eiradoe
engenh
(https:// Dez 27, 2018



leeD
Gestão
global
simplificada
Deel

Abrir

Início (https://engenheiradoexcel.com.br/) Política de Privacidade (https://engenheiradoexcel.com.br/politica-de-privacidade/)

Copyright © 2018-2021 Engenheira do Excel

Você também pode gostar