Ir ao conteúdo
  • Cadastre-se
LarissaGontijo

Excel RESOLVIDO Usar cor da fonte como condição | Excel

Recommended Posts

Olá,

 

Tenho uma planilha de datas de eventos que quando a data se aproxima, a fonte fica vermelha.

Gostaria de contar quanto são esses eventos com a fonte em vermelho sendo que há 4 colunas diferentes e todas devem estar com a data em vermelho.

Conto com a ajuda de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A formatação foi feita através do VB, segue código.

 

Sub Aprovacao()
Dim DataEvento As Date

DataAprovacao = Plan1.Cells(4, 8).Value
DataEvento = Plan1.Cells(4, 1).Value

'DataAprovacao
a = 4
'DataEvento
b = 4
Do While DataEvento <> Empty

    If DataEvento - 48 < Now Then
    
        Plan1.Cells(a, 8).Font.ColorIndex = 3
    
    End If
    
a = a + 1
b = b + 1
DataAprovacao = Plan1.Cells(a, 8).Value
DataEvento = Plan1.Cells(b, 1).Value

Loop

End Sub


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce pode usar essa udf (formula),  para contar as células coloridas: 

Function CountCcolor(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
            CountCcolor = CountCcolor + 1
        End If
    Next datax
End Function

Fonte: https://support.microsoft.com/en-us/help/2815384/count-the-number-of-cells-with-specific-cell-color-by-using-vba

 

image.png.9ca36547510fd1f84479f8235e6b1b7b.png

..onde: 

C2:C51 é o intervalor que sera contado

F1 a cor que sera veriifcada

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole  A formula funcionou direitinho, porém, preciso que conte através da cor da fonte e não do interior.

Mudei no código onde estava 'Interior' passei para 'Font' e agora funciona da maneira que preciso. 

Um único problema que notei é que para a fórmula ser atualizada, é necessário que abra a planilha novamente. Tem alguma maneira de mudar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LarissaGontijo sim. Esta udf conta através da cor da fonte.

Public Function CountFontColour(Range1 As Range, Range2 As Range) As Double
Application.Volatile
Dim rng As Range
For Each rng In Range1
    If rng.Font.Color = Range2.Font.Color Then
        CountFontColour = CountFontColour + 1
    End If
Next
End Function

 =CountFontColour(H4:H10;C1

 

Na fórmula acima, H4:H10 é o intervalo que você deseja usar e C1 é a célula com uma cor de fonte específica que você deseja contar.

 

E aqui você 'chama' a função dentro do seu código.

Plan1.Cells(2, 1).Value = CountFontColour(Plan1.Range(Plan1.Cells(4, 8), Plan1.Cells(a, 8)), Plan1.Range("C1"))
'                        * ALTERE OS ENDEREÇOS DAS CELULAS ACIMA DE ACORDO COM A SUA PLANILHA 

 * Coloque no final da sua macro 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la....

 

Plan1.Cells(2, 1).Value = CountFontColour(Plan1.Range(Plan1.Cells(4, 8), Plan1.Cells(a, 8)), Plan1.Range("C1"))

 

Detalhando.... 

Plan1.Cells(2, 1).Value  =>  A2, é a celula que receberá o resultado da contagem da cor

 

Plan1.Range(Plan1.Cells(4, 8), Plan1.Cells(a, 8))  =>  H4:HX,  é o intervalo que você deseja verificar.

 

Plan1.Range("C1")  =>  C1, é a célula com uma cor de fonte específica que você deseja contar.

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×