Contar células coloridas no Excel – com VBA

Primeiramente, saiba que todos os dias nossa página do Instagram abre uma caixinha de perguntas: caso você tenha alguma dúvida em Excel ou VBA, é a oportunidade de enviar sua pergunta e aprender conosco. Uma das dúvidas que tivemos foi como contar células coloridas no Excel.

Pela dinâmica do Instagram, um stories fica 24 horas no ar. Dessa forma, os conteúdos que lá são respondidos deixam de existir em um dia. Nesse meio tempo, caso exatamente naquele dia você não teve a oportunidade de entrar no Instagram, perderá o conhecimento.

Sendo assim, visando consolidar o conteúdo, criamos esse novo modelo de posts do site do Excel Genial: stories já postados no nosso Instagram que resolvem dúvidas dos nossos usuários. Assim, essa é uma forma de expandir e mostrar a mais pessoas o que é postado por lá.

Por fim, caso não nos siga no Instagram, faça isso agora, clicando aqui!

O primeiro exemplo foi um caso interessante que apareceu. Ele diz respeito a como utilizar VBA contar as células coloridas no Excel. Saca só:

contar células coloridas no excel
Sequência de Stories respondidos no perfil do Instagram do Excel Genial

Antes de mais nada e antes de começar o artigo, caso você precise melhorar o seu nível de Excel eu te indico o nosso Método Genial de Excel. Fizemos um curso voltado para aqueles que desejam aprender o Excel Avançado! Por fim, para saber mais detalhes, clique na imagem abaixo ou clique aqui!

Contar células coloridas no Excel

Antes de mais nada, é importante você saber que o Excel tem uma fórmula específica para contar ocorrências. No entanto, ela se aplica apenas a valores de células e não cores. Ainda nesse sentido, nós temos um exemplo sobre o tema em um post em que ensinamos a remover duplicadas via fórmulas, que você pode acompanhar clicando no link anterior.

Pergunta: Como verificar quantas células coloridas tem em um intervalo específico de células?

Resposta: Para isso, você precisa fazer um código em VBA, informando duas coisas: o intervalo onde você quer verificar quais células dele estão pintadas e a cor que você quer conferir. Em outras palavras, você procurará célula a célula do intervalo quais células têm a mesma cor que a sua referência. Dessa forma, ao encontrar uma célula que seja da mesma cor, o seu contador “adiciona um” ao seu contador antigo, até terminar de contar todas as células.

O código para isso no VBA é o seguinte:

Function Celulas_Exatamente_Cor(rngColorInfo As Range, Intervalo As Range) As Long

Dim rConta As Range

For Each rConta In Intervalo.Cells
      If rConta.Interior.ColorIndex = rngColorInfo.Interior.ColorIndex Then
            Celulas_Exatamente_Cor = Celulas_Exatamente_Cor + 1
      End If
Next

End Function

Há também uma variante onde nós contamos todas as células pintadas, independentemente da cor. Neste caso, basta informarmos o intervalo (já que, afinal, não teremos célula para comparar, visto que qualquer cor importa).

Aqui a grande sacada é colocar a cor referência “diferente da Sem Preenchimento”. Assim, todas as cores serão contadas, desde que sejam diferentes do Sem Preenchimento.

O código de cor para o Sem Preenchimento é de -4142. Dessa forma, o contador “adicionará um” ao seu contador antigo toda vez que encontrar uma cor diferente de -4142. É isso que o código abaixo faz:

Function Celulas_Qualquer_Cor(Intervalo As Range) As Long

Dim rConta As Range

For Each rConta In Intervalo.Cells
      If rConta.Interior.ColorIndex <> -4142 Then
            Celulas_Qualquer_Cor = Celulas_Qualquer_Cor + 1
      End If
Next

End Function

Um exemplo

Primordialmente, veja a imagem abaixo. Ela traz o exemplo sendo explorado. Nela podemos ver as duas funções na prática.

Note que o intervalo a ser analisado está com bordas espessas. O resultado da primeira fórmula nos traz 4 (ou seja, a quantidade de células amarelas no intervalo). O resultado da segunda fórmula nos traz 7, que é quantas células de qualquer cor temos no intervalo (ou, pensando diferente agora, quantas células diferentes do “Sem Preenchimento” temos).

Dessa forma, podemos considerar que o código VBA funciona.

Contar células coloridas no Excel: o vídeo

Por fim, no nosso canal do YouTube colocamos um vídeo ensinando o processo. Adicionalmente, incluímos uma prévia abaixo!

Como fazer o código em VBA?

Para quem não sabe como transformar o código informado em uma realidade, segue passo a passo.

  1. Com o Excel aberto, aperte Alt + F11 (segure o Alt, dê um toque no F11). Uma tela do Microsoft Visual Basic for Applications vai se abrir
  2. Nessa tela, vá em Inserir > Módulo
  3. Um novo módulo com a tela em branco aparecerá. É ali que você precisa inserir o seu código
  4. Para executar os códigos, volte para o Excel
  5. Em caso de Sub, vá em Exibir > Macros > Exibir Macros. Escolha o código pelo nome que você deu e clique em Executar
  6. Em caso de Function, vá em uma célula qualquer, digite = e na sequência o nome da Function. Ela aparecerá na lista de funções, como se fosse um PROCV

Por fim, é isso! Em caso de dúvidas, já sabe: é só nos procurar no Instagram!

Quer aprender mais?

Assim, encerramos o nosso artigo! Hoje você aprendeu sobre como contar células coloridas no Excel!

Ainda assim, você acredita que pode saber mais de Excel? Certamente você quer aprender Excel aprendendo o que realmente interessa e te destaca! Dessa forma, montamos o Método Genial de Excel para te passar o Excel que vai chamar a atenção do seu chefe, aumentar suas chances de promoção e te trazer reconhecimento financeiro! Conheça mais detalhes clicando aqui!