Pintemos una pintura de Monalisa y dejemos atrás a Picasso usando VBA.

Listo, listo …​ ¡Espera! ¡Espere! Calma. ¿Solo vamos a usar VBA para hacer formato condicional y es más fácil que pintar eso? pájaro en forma.

La sintaxis genérica del formato condicional de VBA

If condition than

Range(range).Interior.ColorIndex= 1-56

Realice su verificación de condición en la condición y luego formatee su rango usando la propiedad .iteriour.colorindex del objeto Range. El índice de color tiene 56 colores. Ve a jugar Holi con ellos y explora qué número tiene qué color.

Ahora entendamos con un ejemplo ==== Ejemplo: Código VBA para formatear celdas condicionalmente

1

Entonces, este es el escenario, tenemos una lista de personas al azar con su edad y grupo de edad.

Qué fácil sería si pudiera decirle al grupo de edad de una persona simplemente mirando sus nombres.

Ahora para hacer esto, quiero el formato VBA Nombre ROJO si es un adulto, AMARILLO si es un adolescente y VERDE si es un NIÑO y nada si la celda está en blanco.

Sub FormatUsingVBA()

Dim rng As Range

Dim lastRow As Long

lastRow = Cells(Rows.Count, 3).End(xlUp).Row

Set rng = Range("C2:C" & lastRow)For Each cell In rng

If cell.Value2 = "Adult" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3

ElseIf cell.Value2 = "KID" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4

ElseIf cell.Value2 = "Teenager" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6

Else

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0

End If

Next cell

End Sub

Para ejecutar este código directamente desde la hoja, dibujé un botón en la misma hoja y le asigné esta macro. Ahora, cada vez que haga clic en el botón «Formato», su código se ejecutará y actualizará las celdas de nombre con color según su grupo de edad. ¿Cómo? Vamos a averiguar.

Explicación del código:

Dim rng As RangeDim lastRow As LongThese two lines are variable declarations.

rng for Range that holds the age group and lastRow to get last nonblank row number.
lastRow = Cells(Rows.Count, 3).End(xlUp).RowThis line returns last row number in lastRow Variable.
Set rng = Range("C2:C" & lastRow)This line sets the range starting from C2 and to the last row.

It makes your code dynamic. You add new rows to your data and it will detect and will store in new range in rng variable.
For Each cell In rng

If cell.Value2 = "Adult" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3

ElseIf cell.Value2 = "KID" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4

ElseIf cell.Value2 = "Teenager" Then

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6

Else

Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0

End If

Next cell

Este es el segmento principal.

For Each cell In rng

La primera línea ejecuta el bucle en todas las celdas de su rango. Si cell.Value2 = «Adult» Then La siguiente línea es una verificación de condición. Comprueba si el valor actual de la celda es Adulto o no.

Si es así, la siguiente línea se ejecuta, de lo contrario, salta a la siguiente instrucción if.Range (celda.Address) .Offset (0, -2) .Interior.ColorIndex = 3 Ahora si la condición IF devuelve VERDADERO, esta línea establece el color de la celda en ColorIndex 3 que es para ROJO.

De manera similar, las siguientes instrucciones IF se ejecutan y toman medidas según lo especificado.

Entonces, sí, puede formatear rangos condicionalmente usando VBA. El método interior del objeto Range controla muchas otras propiedades de formato. Deberías jugar con ellos, no te hará ningún daño pero definitivamente aprenderás. Y si te enfrentas a alguna dificultad de lo que estoy aquí. Haga sus preguntas en la sección de comentarios.

Descargar archivo *

`link: /wp-content-uploads-2013-07-Conditional-Formatting-using-VBA-in-Microsoft-Excel.xls [__ Formato condicional usando VBA en Microsoft Excel]

Artículos populares:

link: / formulas-and-functions-Introduction-of-vlookup-function [Cómo usar la función VLOOKUP en Excel]

link: / tips-countif-in-microsoft-excel [Cómo usar la función COUNTIF en Excel]

link: / excel-formula-and-function-excel-sumif-function [Cómo usar la función SUMIF en Excel]