VBA - Função que retorna a cor ativa do MFC

Setembro 2017

Esta função retorna o valor do formato ativo de uma paginação condicional.
Com a função da demonstração, dois valores podem ser retornados.
  • Modo = 0 : retorna o valor do Interior.ColorIndex
  • Modo = 1 : retorna o valor do Interior.Color


Mas, com algumas alterações, todas as outras proprietários podem ser reenviadas.

Public Function CouleurMFC(RG As Range, Optional Mode As Byte = 0) As Variant    
Dim e As Long, i As Byte, LoTest As Boolean    
Dim LoMFC As FormatCondition    
    Application.Volatile    
    'loop no número de condição (ões)    
    'Se não tiver MFC .FormatConditions.Count referência 0    
    For i = 1 To RG.FormatConditions.Count    
        Set LoMFC = RG.FormatoCondições(i)    
        If LoMFC.Type = xlCellValue Then    
        'testar o tipo da fórmula de entrada    
            Select Case LoMFC.Operator    
            Case xlEqual    
                LoTest = RG = Evaluate(LoMFC.Formula1)    
            Case xlNotEqual    
                LoTest = RG <> Evaluate(LoMFC.Formula1)    
            Case xlGreater    
                LoTest = RG > Evaluate(LoMFC.Formula1)    
            Case xlGreaterEqual    
                LoTest = RG >= Evaluate(LoMFC.Formula1)    
            Case xlLess    
                LoTest = RG < Evaluate(LoMFC.Formula1)    
            Case xlLessEqual    
                LoTest = RG <= Evaluate(LoMFC.Formula1)    
            Case xlNotBetween    
                LoTest = (RG < Evaluate(LoMFC.Formula1) Or RG > Evaluate(LoMFC.Formula2))    
            Case xlBetween    
                LoTest = (RG >= Evaluate(LoMFC.Formula1)) And (RG <= Evaluate(LoMFC.Formula2))    
            End Select    
            If LoTest Then    
                'Possível adicionar outro formato, se necessário,    
                'como a borda, a fonte tipográfica etc..    
                Select Case Mode    
                Case 0    
                    CouleurMFC = LoMFC.Interior.ColorIndex    
                Case 1    
                    CouleurMFC = LoMFC.Interior.Color    
                End Select    
                Exit Function    
            End If    
        End If    
    Next i    
    CouleurMFC = 0    
End Function


A fórmula na planilha
=CouleurMFC(A2)


O MFC pode ser com um valor direto ou indireto (o conteúdo de outra célula)
  • Ex 1 : >1 and <10
  • Ex 2 : >=D10 and <=E10



Tradução feita por Lucia Maurity y Nouira

Veja também

Artigo original publicado por lermite222. Tradução feita por pintuda. Última modificação: 3 de março de 2011 às 12:34 por pintuda.
Este documento, intitulado 'VBA - Função que retorna a cor ativa do MFC', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.