CONT.SE Cor da Célula

Para responder a dúvida do leitor Paulo sobre como contar células pela cor no Excel eu criei esta função.

Esta função é relativamente muito simples, mas também pode ser muito útil, e seguindo a idéia de criar uma biblioteca própria de funções próprias do suplemento que poderão estar disponíveis sempre.

Ela complementa a outra função que criei no post Somase cor da célula.

Para isso foi criada a função abaixo:


 

  • Função que realiza a contagem  condicional de células pela cor
 

A utilização das fórmulas é bastante simples = gfCelColorName(A1) irá retornar o número da cor.

A fórmula gfSumIfColor pode trabalhar em conjunto com a gfCelColorName para realizar a soma conforme o exemplo =gfCountIfColor(A2:A831;H2).

ContSe cor da célula

ContSe cor da célula

'<alteracao> 'Conta as células de cores semelhantes
Function gfCountIfColor(ByVal vInterval As Range, ByVal vColor As Range) As Double
    'Recalcula a função em qualquer alteração da planilha
    Application.Volatile
    Dim vCel As Range
 
    For Each vCel In vInterval.Cells
        If CLng(vCel.Interior.Color) = vColor.Interior.Color Then
            gfCountIfColor = gfCountIfColor + 1
        End If
    Next vCel
End Function
'</alteracao>

Download do Arquivo

Marcos Rieper

Use QR-Code to get this permaking using your Smartphone. QR Code for CONT.SE Cor da Célula

7 Comentários

  1. Adilson disse:

    Consegui instalar a função direitinho, só que percebi uma coisa:

    tenho uma sequência A1:Q1, cada célula muda a cor de acordo com o valor que insiro (condições). Por exemplo: coloco a1=8 ou 9, ela fica verde, b1=25, ela fica vermelha, etc. então na célula R1 quero q apareça quantas ficaram verdes, só que fica zero.

    O que descobri:
    Se eu coloco manualmente o preenchimento de verde, ele conta essas células. Só que quando a célula, que é branca, fica verde pela condição, ele considera ela como branca e conta como branca. Se pela condição ela é verde e eu ainda a preencho manualmente com verde, aí ele conta a célula. Me fiz entender?

    Que alteração faço no vba para acertar este detalhe?

    Desde já, agradeço!

  2. Tiago disse:

    Muito interressante.

    Só estou tendo dificuldades na instalação. Poderia dar uma força.
    Se alguem que conseguiu pudesse mandar uma planilha com o processo feito ficaria melhor pra eu entender. Consegui captar melhor a msgm utilizando e vendo funcionar do que somente lendo, até prq meu conhecimento é medio.

    Abraço e obrigado

  3. Wivian disse:

    Olá,
    Gostaria de uma ajuda para criar um semáforo, como se fosse um combo com as bolinhas com cores, para seleção manual da cor.

    Será que alguém sabe alguma forma de fazer?

    Grata,
    Wivian

  4. Tiago disse:

    Obrigado Marcos,

    Já consegui utilizar, não tinha visto com calma, mas é legal o video

  5. Tiago disse:

    A duvida que eu tenho agora é como eu poderia fazer para ele identificar pela cor da fonte ao inves do preenchimento

  6. Tiago disse:

    Consegui, basta mudar de If CLng(vCel.Interior.Color) = vColor.Interior.Color Then para If CLng(vCel.Font.Color) = vColor.Font.Color Then

Deixe o seu comentário


 
%d blogueiros gostam disto: