Eres un usuario Anonimo. Haz clic aqui para entrar | Registrate

Formato condicional con más de tres condiciones

El título de este ejemplo es algo engañoso, ya que no se trata de un verdadero formato condicional. Al utilizar una hoja de control, duplica la funcionalidad del comando de formato condicional. Este nuevo comando permite algo más que las tres condiciones habituales en un formato condicional para versiones anteriores a 2007. La hoja de control consta de dos columnas: la columna A alberga las variables y la columna B alberga el número que se ajusta al color deseado. Después de configurar la hoja de control, las variables se pueden incorporar en la hoja principal y aplicar el color.

Private Sub Worksheet_Change(ByVal Target As Range)
' Formato condicional para más de 3 condiciones
    Dim rng As Range
    ' Target es un rango, por lo tanto, puede ser más de una celda
    ' Por ejemplo, alguien podría eliminar los contenidos de un rango,
    ' o alguien podría escribir una tabla.
    Set rng = Intersect(Target, Range("D:D"))
    If rng Is Nothing Then
        Exit Sub
    Else
        Dim cl As Range
        For Each cl In rng
            On Error Resume Next
            ' — La línea anterior no cambia el color de fondo de la celda si el valor de la celda no se encuentra en el rango que hemos especificado (rngcolores).
            cl.Interior.ColorIndex = _
            Application.WorksheetFunction.VLookup(cl.Value, _
                ThisWorkbook.Sheets("CF Control").Range("rngColors"), 2, False)
            If Err.Number <> 0 Then
                cl.Interior.ColorIndex = xlNone
            End If
        Next cl
    End If
End Sub