Para criar a função personalizada de contar células por cor no Excel, abra o editor VBA (Alt+F11), insira um novo módulo e cole um código que percorra o intervalo comparando a propriedade .Interior.Color de cada célula com a cor de referência, somando 1 a cada correspondência — depois de salvo, a função passa a funcionar na planilha como qualquer outra.
O Excel não oferece uma função nativa para contar células por cor de preenchimento, mas permite que você crie suas próprias funções usando o VBA (Visual Basic for Applications) — a linguagem de programação integrada ao Excel. Uma vez criada, a função personalizada aparece na lista de funções disponíveis e pode ser usada na planilha exatamente como o CONT.SE ou o SOMASE. Você digita o nome da função, passa o intervalo e a célula de referência de cor, e o resultado aparece automaticamente. Neste artigo iremos mostrar como criar essa função VBA passo a passo, com o código necessário e a explicação de cada parte.
Vídeo aula sobre como contar células coloridas no Excel
Assista ao vídeo abaixo, caso prefira aprender como contar células coloridas no Excel assistindo a um vídeo.

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.
O que é uma função personalizada VBA e como ela funciona
No VBA do Excel, é possível criar dois tipos de código: Sub-rotinas (macros que executam ações quando chamadas) e Functions (funções que calculam e retornam um valor). Uma Function VBA funciona exatamente como as funções nativas do Excel — ela recebe argumentos, processa dados e retorna um resultado. A diferença é que você escreveu o código que define o que ela faz, em vez de usar uma função que a Microsoft já implementou.
Para criar uma Function que conta células por cor, você escreve um código que percorre cada célula de um intervalo, compara a cor de preenchimento de cada uma com a cor de uma célula de referência e incrementa um contador quando as cores correspondem. Ao final do loop, a função retorna o contador — que é o número de células com aquela cor. Esse código é escrito no editor VBA do Excel e fica armazenado na pasta de trabalho onde foi inserido.
A Microsoft disponibiliza um código oficial para essa funcionalidade em sua base de conhecimento. O código pode ser adaptado para ter os nomes dos argumentos em português, facilitando o uso da função por usuários brasileiros. A adaptação mais comum é mudar os nomes internos do código de inglês para português, mantendo a lógica de funcionamento intacta. O resultado é uma função que se comporta como qualquer outra função do Excel, mas que foi criada por você e faz algo que o Excel sozinho não faz.
O código VBA para a função de contar por cor
O código da função personalizada que conta células por cor tem a seguinte estrutura básica em VBA. Primeiro, você define a função com seu nome e os parâmetros que ela recebe. Para a função de contar por cor, os dois parâmetros são: o intervalo de células que será analisado (do tipo Range) e a célula que tem a cor de referência (também do tipo Range). O valor de retorno da função é um número inteiro longo (Long), pois é a contagem de células.
Dentro da função, você inicializa um contador em zero e usa um loop For Each para percorrer cada célula do intervalo fornecido. Para cada célula, compara a propriedade Interior.ColorIndex (que representa a cor de preenchimento como um número) da célula atual com a mesma propriedade da célula de referência. Quando as duas são iguais, incrementa o contador em 1. Ao terminar o loop, atribui o valor do contador ao nome da função — essa é a forma de retornar o resultado em VBA.
Em código VBA, a estrutura seria: Function ContarCor(intervalo As Range, corBuscada As Range) As Long — seguido da declaração de uma variável célula e do contador, o loop For Each célula In intervalo com o If para comparar as cores, o incremento do contador quando corresponde, e a linha final ContarCor = contador que retorna o resultado. Esse é o esqueleto da função. O código completo e funcional está disponível na base de conhecimento da Microsoft, onde a empresa documenta essa funcionalidade e disponibiliza o código para uso livre.
Inserindo o código no editor VBA do Excel
Para inserir o código da função no Excel, você precisa acessar o editor VBA. A forma mais rápida é pressionar Alt+F11 — esse atalho abre o editor VBA diretamente de qualquer planilha do Excel. Uma janela separada se abre, com a estrutura do projeto VBA no painel esquerdo e a área de código no painel direito.
No editor VBA, com o projeto da sua pasta de trabalho selecionado no painel esquerdo, clique com o botão direito no nome da pasta de trabalho e escolha Inserir, Módulo. Um módulo em branco é criado e aparece na área de código à direita. É nessa área de código do módulo que você cola ou digita o código da função. Após inserir o código, salve o arquivo — e atenção aqui: para salvar um arquivo que contém código VBA, o formato precisa ser .xlsm (Pasta de Trabalho Habilitada para Macro do Excel). Se você tentar salvar como .xlsx, o Excel avisa que o código VBA será perdido.
Após salvar o arquivo .xlsm com o código no módulo, a função está disponível na planilha. Você pode fechar o editor VBA (Alt+F4 no editor ou simplesmente clicar no X da janela do editor) e voltar para a planilha normalmente. A função criada aparecerá na lista de sugestões quando você começa a digitar o nome dela em uma célula, assim como qualquer outra função do Excel.
Testando a função após a criação
Com o código inserido e o arquivo salvo, teste a função em uma área da planilha que tenha células com cores de preenchimento diferentes. Selecione uma célula vazia e comece a digitar o nome da função que você criou. Se o nome for “ContarCor”, por exemplo, o Excel vai mostrar “ContarCor” na lista de sugestões conforme você digita — isso confirma que a função foi reconhecida corretamente.
Complete a fórmula passando o intervalo de células coloridas como primeiro argumento e a célula que tem a cor de referência como segundo argumento. Por exemplo: =ContarCor(A1:A20;C1) onde A1:A20 é o intervalo com as células coloridas e C1 é uma célula com o preenchimento verde (ou qualquer cor que você quer contar). Pressione Enter e a função retorna a contagem de células com a mesma cor de preenchimento de C1 no intervalo A1:A20.
Este conteúdo faz parte do nosso guia completo de VBA para iniciantes.
Antes de usar essa técnica em produção, veja também as limitações e cuidados dessa abordagem.
Perguntas frequentes
Como abrir o editor VBA para criar a função de contar células coloridas?
Pressione Alt+F11 para abrir o editor VBA, clique com o botão direito no projeto da pasta de trabalho no painel esquerdo e escolha Inserir > Módulo para criar o espaço onde o código será colado.
Qual é a lógica básica do código VBA que conta células por cor?
A função recebe um intervalo e uma célula de referência de cor, percorre cada célula do intervalo com um loop For Each comparando a propriedade Interior.ColorIndex com a da célula de referência, e incrementa um contador a cada correspondência.
Em qual formato de arquivo devo salvar a planilha para não perder o código VBA?
Em .xlsm (Pasta de Trabalho Habilitada para Macro). Se tentar salvar como .xlsx, o Excel avisa que o código VBA será descartado permanentemente naquela cópia do arquivo.
Se você curtiu esse artigo onde mostramos como criar uma função personalizada em VBA para contar células coloridas no Excel, 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.