Contar Células na Planilha de Excel pela Cor

Formatar uma planilha de Excel facilita na revisão e na visualização de relatórios, tanto impressos, como na tela do computador. Nesta postagem vamos aprender como contar as células pela cor. Isso pode servir, para você definir parâmetros destacados de dados que representa cada cor separada.

Apesar de não usarmos a função CONT.SE, ainda podemos obter os resultados com o uso do VBA. Com o VBA, podemos criar a função definida pelo usuário e salvar no arquivo para que ele possa ser usado para cada pasta de trabalho e de outro computador.

A cor de preenchimento de uma célula é amplamente usada pelos usuários do Excel porque, destacando-a com uma cor diferente, podemos identificá-la facilmente na tela.

Às vezes, a cor significa que os dados pertencem a uma categoria específica, ou talvez algum status, ou alguma ação, que devemos tomar como base nessa cor. O ponto é que quando temos várias células com uma cor de preenchimento, é quase inevitável que chegue a hora em que precisamos contá-las por cor.

Como contar as células por cores?

Para começar você precisa saber um pouquinho do código VBA e ter a guia DESENVOLVEDOR habilitada no seu Excel. Se sim, faça o teste!

  • Abra uma nova planilha de Excel.
  • Vá para a faixa de opções Desenvolvedor.
  • No grupo Código, clique em Visual Basic.
  • Com a janela de VBA aberta clique em Inserir --> Módulo.
  • Copie o código a seguir e cole na tela do VBA.
Function CONTACOR(celulaOrigen As range, intervalo As range)
 
 Application.Volatile
 
 'Variables
 Dim celula As range
 
 'Recorremos todas as celulas do intervalo
 For Each celula In intervalo
 
 'Compara a propiedad Interior.Color
 If celula.Interior.Color = celulaOrigen.Interior.Color Then
 CONTACOR = CONTACOR + 1
 End If
 
 Next celula
 
End Function

Neste exemplo, CONTACOR é a função criada, para ser adicionada na contagem das células. Você pode alterar o termo CONTACOR, por qualquer outro, mas lembre-se de alterar em todas as linhas do código, ou não irá funcionar.

  • Feche a tela do Visual Basic Application.
  • Vá para a planilha, que acabou de criar para testes e digite a fórmula:

Nota: se você seguiu o exemplo, conforme a imagem a seguir, o intervalo de cores está em B2 até B11.

Adicione uma das cores em D1 e na célula D2 digite:

=CONTACOR(D1;B2:B11)

Se você pintou as células com as mesmas cores da imagem acima, o resultado será 6, para a cor amarela.

Importante: como é uma função definida pelo usuário, sempre que fizer alguma alteração na cor de uma, ou mais células, a fórmula deve ser atualizada, para que as alterações tenham efeito na contagem.

Dê um Like ❱❱+2

Dê um Like ❱❱+2

Edivaldo. Louco por funções e fórmulas de Excel, adoro fazer planilhas e compartilhar meus conhecimentos com as pessoas. Seja bem-vindo. Eu amo fazer isso e quero compartilhar com você!

25 Comentários
  1. Eu fechei e reabri e o modulo sumiu.. .como mantem isso salvo?

    • JACQUELINE RAMOS DE ALMEIDA 05/04/2020 as 13:22

      Boa tarde! A função consta como existente na célula, mas quando reabri o documento o procedimento também perdeu efeito.
      Não sei o que houve. Refiz a função, ela não constava mais como uma função. Voltei à programação, a função reapareceu, mas não funcionou mais.

    • Olá Danilo, o comum é manter salvo, tente de novo!

  2. Boa tarde!
    É possível separar por cor com algum escrito junto? Por exemplo, a cor amarela com um número 1 na célula, e uma amarela com o número 2, contando as cores, mas com separação dos escritos na cor?
    É para um mapa corporativo... Obrigada!

  3. Pessoal boa tarde, adorei este código, fiz o teste e deu certo, entretanto não funciona quando eu aplico essa função com a formatação condicional. Alguém sabe como adaptar este código para funcionar com a formatação condicional?

    Desde já agradeço a ajuda e atenção

    Eliana

    • Oi Eliana Reginaldo. Infelizmente ainda não tenho outro código que faça isso. Mas continuarei estudando e quando descobrir adicionarei uma posagem.

  4. Boa noite Edivaldo, preciso de ajuda, tenho uma Plan Excel com varias colunas/linhas, quero que na coluna 10 ela me dê o resultado de quantas letras eu tenho nas 09 colunas/celulas/na mesma linha anterior, sendo que em uma coluna/celula eu tenho 03 letras (Ex.: PPP) em outra na mesma linha 04 letras (Ex.: PPPP) e nas demais 01 letra em cada coluna/celula (Ex.: P)
    Pergunta - Qual a fórmula a ser aplicada. Excel 2013.

  5. Fala Edivaldo.
    Aqui eu já trabalhava com uma função parecida com a sua e funcionava bem, só que contava as cores como um todo.
    Infelizmente minha planilha antiga corrompeu e perdi o arquivo sem conseguir explorar o VBA para extrair a função.
    Pergunta, como proceder para ele contar inclusive as células que foram mesclada.
    Ex:
    Tenho 6 células em amarelo, destas 6, 2 estão mescladas de 2 em 2, neste caso o correto seriam 4 células amarelas, sendo 2 celulas normais, mais 2 celulas que foram mescladas de 2 em 2.

    A Pergunta é: Como fazer para contar a quantidade de cores, e não a quantidade de células?

    • Oi Alan Cristo. O código teria que ser o que está no post. Se não funcionar, eu vou ter que ver depois e tentar criar outro. Mas confesso, que VBA não é muito minha praia não. Faço pouquíssimas coisas, justamente, por causa disso que você falou "corrompimento". Se acontecer perde tudo, ou dá muito trabalho para recuperar.

  6. Olá! Conseguir fazer a fórmula e funcionou normalmente, porém quando fechei e abri novamente deu erro. O que pode ter acontecido

    • Oi Tarsila.
      Veja se você salvou, antes de fechar, ou se fez alguma alteração e salvou. Se você fez algo na planilha e funcionou, alguma coisa foi alterada para não funcionar posteriormente. Tente de novo!

  7. Bom dia Edivaldo.
    Testei aqui e deu Certo.
    Parabéns!!!

    Qual a possibilidade de aplicar essa FUNÇÃO para célula colorida pela formatação condicional??

    Aguardo Retorno

    • Oi Eurico, obrigado por ter entendido minha explicação e ter conseguido fazer funcionar. Eu tenho tutoriais de formatação condicional, e é muito fácil fazer do jeito que você quiser aí.

      • Desculpe Edivaldo, acho que não fui claro em minha explanação.
        As células que preciso contar pelo CONTACOR, foram coloridas utilizando a Formatação Condicional. Essas células não a Função não consegue contar.

        • OK. A função CONTACOR é uma função criada por mim e deve ser incorporada no VBA. O usuário deve entender de Visual Basic for Applications. Eu não sou bom em VBA não. O meu negócio trabalhar com funções.

        • hammm... entendi.
          Beleza então Edivaldo. Obrigado pela atenção e pelo retorno.

  8. EDIVALDO OLÁ SOU LEIGO EM EXCEL E PRECISO APRENDER DESDE O BÁSICO AO AVANÇADO. POIS PRECISO USAR NESTAS ÁREAS
    Funções Financeiras
    Funções Lógicas
    Gráficos na Planilha
    Finanças e Investimentos
    Macros e VBA
    Formatação Condicional
    PARA SETOR DE PCP . LOGISTICA , SUPLLY CHAIN , COMPRAS , ETC...
    COMO PODE ME AJUDAR ?

    • Oi FRANCISCO FILHO.
      Você está no lugar certo. Pode explorar o site inteiro que você, certamente, vai aprender tudo isso. Qualquer dúvida escreva comentários.

  9. Bom dia, no caso de formatação condicional não está funcionando

  10. Bom dia amigos, eu fiz igual deu certo, porém não consigo por em caso de 2 cores diferentes, só conta uma. (exp 8 vermelhas, 2 verdes, 3 pretas.) só conta 8 vermelhas. ME AJUDEM PFV!

    Deixe um Comentário

    Tudo Excel
    Logo
    Registrar Nova Conta
    Redefinir Senha