A formatação condicional permite aplicar a uma ou várias células selecionadas diferentes formatos que mudarão automaticamente em função do valor (ou do resultado da fórmula) que elas contêm.
Nas versões anteriores ao Office 2007, pode-se apenas fazer três formatações condicionais. Veja aqui uma macro criada pela nossa equipe que permite fazer quantas formatações condicionais você desejar.
A macro irá recuperar os formatos a serem aplicados em uma planilha chamada MFC . A célula A1 desta mesma planilha é usada para aplicar o formato padrão. A macro é desencadeada pela apreensão de uma célula. Ela usa o MFC nesta célula. Porém, para que ela aplique os formatos nas células desejadas e para não ter que alterar a macro para definir os diversos trechos, programa-se um MFC na célula, com uma fórmula:
=Ma_MFC.
Esta macro também pode efetuar formatos de acordo com os níveis de valores.
Veja o código a ser colocado no módulo ThisWorkbook.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
On Error GoTo fin 'em caso de manipulação errada, trava na seguinte ordem
Application.EnableEvents = False
Set Ws1 = Sheets("MFC")
For i = 1 To Target.FormatConditions.Count
Set Mfc = Target.FormatConditions(i)
If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
Ws1.Range("A1").Value = Target.Value
Set c = Nothing
For j = 2 To Ws1.Range("A65536").End(xlUp).Row
If Ws1.Range("A" & j) = True Then
Set c = Ws1.Range("A" & j)
Exit For
End If
Next j
If c Is Nothing Then Set c = Ws1.Range("A1")
c.Copy
Target.PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End If
Next i
Application.EnableEvents = True
fim:
On Error GoTo 0
End Sub
Foto: © Dzmitry Kliapitski - 123RF.com