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
Si te ha parecido interesante, comparte: Compartir
