Como Contar Células Coloridas no Excel (Função VBA Pronta)

Planilha do Excel com células coloridas usadas como exemplo para a contagem por cor

O Excel não tem uma função nativa para contar células coloridas — a solução é criar uma função personalizada em VBA (como a ContarCor deste artigo) que lê a propriedade Interior.ColorIndex de cada célula do intervalo e compara com a cor de referência, funcionando como um CONT.SE baseado em cor.

Neste artigo você irá aprender como montar uma função no VBA que irá lhe permitir contar a quantidade de células coloridas no Excel, como se fosse um CONT.SE de cor.

Aonde será passada um intervalo de células coloridas, e também a cor deseja, e a função irá retornar a quantidade de células que tem a cor buscado, muito parecido com o CONT.SE.

🎓
Quer aprender Excel de verdade, do zero ao avançado? Conheça o Curso Excel pra Ontem — aulas práticas, direto ao ponto, sem enrolação. Do zero ao avançado, no seu ritmo
Conhecer o curso →

Vídeo aula CONT.SE de cor

Assista ao vídeo abaixo, caso prefira aprender como fazer para criar a fórmula que irá contar cor no Excel assistindo a um vídeo.

Miniatura do video: clique para assistir

Não se esqueça de se INSCREVER no nosso canal.

E coloque o seu melhor e-mail abaixo para receber todas as nossas novidades em primeira mão.

Criar fórmula para contar células por cor

Infelizmente o Excel não disponibiliza por padrão uma fórmula para contar cor no Excel.

Porém é possível criar uma função no VBA, que conseguirá contar cores no Excel independente se a célula tem uma formatação condicional de cor ou ela simplesmente está colorida.

Para podermos criar uma função no VBA precisamos ir na guia “Desenvolvedor” e depois clicar em “Visual Basic”.

Guia Desenvolvedor do Excel com o botão Visual Basic em destaque

Na tela do VBA, vá em “Projeto – VBAProject” e clique com o botão direito do mouse no nome da planilha que você estiver usando, no meu caso é “Planilha1(Planilha1)”.

Ao clicar com o botão direito do mouse, algumas opções irão aparecer na tela.

Clique em “Inserir” e logo em seguido em “Módulo”.

Editor do VBA com o menu Inserir e a opção Módulo selecionada

O VBA irá disponibilizar uma tela aonde será inserido o código que iremos utilizar para criar a fórmula.

CONT.SE cor da célula

Contar cor no Excel é algo que muitas pessoas buscam a solução e por isso, a própria Microsoft, disponibilizou o código em VBA para resolver esse problema.

O código irá montar uma função, que meio que irá se comportar como um CONT.SE de cor da célula.

Será passado um intervalo de cores, e a cor buscada e a função irá retornar a quantidade de células com aquela cor dentro do intervalo.

O código disponibilizado pela Microsoft está em Inglês, por isso eu fiz uma pequena alteração nele para facilitar a interação com a função em Português.

Basicamente, eu traduzi o nome da função para o Português, nos pontos marcados em vermelho.

Código VBA da função ContarCor no editor, com trechos traduzidos em destaque

Se quiser, pode copiar o código com a alteração para o Português.

Function ContarCor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
    xcolor = criteria.Interior.ColorIndex
    For Each datax In range_data
        If datax.Interior.ColorIndex = xcolor Then
            ContarCor = ContarCor + 1
        End If
    Next datax
End Function

Utilizando a função ContarCor

Agora vamos utilizar a função que acabamos de criar no VBA.

Primeiramente, vamos deixar a nossa planilha igual a planilha abaixo.

Planilha preparada para aplicar a função ContarCor, ainda sem os resultados

Agora, na célula F1, vamos digitar =contar, veja que o Excel mostra todas as funções que tem a palavra contar, incluindo a função que acabamos de criar, a “ContarCor”.

Célula F1 com a fórmula =contar digitada mostrando a sugestão da função ContarCor

Termine de preencher o nome da função e abra parênteses.

No primeiro argumento da função, iremos passar um intervalo de células com cores.

É nesse intervalo que a função irá buscar e contar a quantidade de vezes que a cor desejada é encontrada no intervalo.

No segundo argumento, selecione a célula que possui a cor desejada.

No meu caso é a célula G1.

Fórmula ContarCor com os argumentos de intervalo de células e a célula G1 preenchidos

Veja que a função retornou o valor 4, que é o valor correto quando contamos a quantidade de células, dentro do intervalo selecionado, que possuem a cor verde.

Resultado da função ContarCor exibindo o valor 4 na célula

Agora, vamos arrastar a função para as outras células.

Clique na célula F1 e arraste o cursor no local indicado.

Ao arrastar o cursor para o local indicado, o seu formato irá mudar.

Nesse momento, dê dois cliques, que o Excel irá arrastar a função para as outras células.

Alça de preenchimento da célula F1 sendo arrastada para copiar a função

E pronto, a função “ContarCor” contou corretamente a quantidade de células coloridas, dentro do intervalo, que tem a cor especificada.

Planilha final com a função ContarCor aplicada a todas as células coloridas

Compartilhe ou Comente

Como contar células coloridas sem usar VBA

Se você prefere não usar macros, existe uma alternativa nativa do Excel para contar células coloridas: o recurso de Filtro por Cor combinado com a função SUBTOTAL. Clique em qualquer célula do seu intervalo de dados, ative o filtro (Ctrl+Shift+L), clique na seta do filtro da coluna colorida e escolha Filtrar por Cor, selecionando a cor desejada.

Com o filtro aplicado, insira em uma célula vazia a fórmula =SUBTOTAL(102;intervalo), que conta apenas as células numéricas visíveis (ou =SUBTOTAL(103;intervalo) para células com texto). A limitação dessa alternativa é que o resultado só é válido enquanto o filtro estiver ativo — diferente da função ContarCor em VBA, que atualiza automaticamente como qualquer outra fórmula, sem precisar reaplicar o filtro toda vez que os dados mudam.

Cor de preenchimento manual x cor por formatação condicional

Um detalhe importante: a função ContarCor criada neste artigo lê a cor de preenchimento física da célula (a propriedade Interior.ColorIndex), então ela não detecta cores aplicadas apenas por formatação condicional. Se as suas células ficam coloridas através de uma regra de formatação condicional, e não de um preenchimento manual, é necessário adaptar o código VBA para verificar a condição da regra diretamente, em vez de ler a cor exibida na tela.

Perguntas frequentes

Existe uma função nativa do Excel para contar células por cor de preenchimento?

Não. O Excel trata a cor de preenchimento como uma formatação visual, não como um dado consultável por fórmulas prontas — por isso é necessário criar uma função personalizada em VBA, como a ContarCor apresentada neste artigo, ou usar o Filtro por Cor combinado com SUBTOTAL.

A função ContarCor funciona para cor da fonte, ou só para cor de preenchimento da célula?

Como está escrita neste artigo, a função ContarCor lê apenas a cor de preenchimento (Interior.ColorIndex). Para contar por cor da fonte, é preciso adaptar o código substituindo essa propriedade por Font.ColorIndex tanto na célula de referência quanto no intervalo analisado.

Existe uma forma de contar células coloridas sem usar VBA?

Sim. Filtre o intervalo por cor (Ctrl+Shift+L, depois Filtrar por Cor) e use a fórmula =SUBTOTAL(102;intervalo) para contar apenas as células visíveis após o filtro. A limitação é que esse resultado só permanece correto enquanto o filtro estiver ativo.


Se você curtiu esse artigo aonde mostramos como contar células coloridas no Excel utilizando o VBA, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *