Configure el formato condicional para un área usando VBA en Microsoft Excel

Anonim

En este artículo, crearemos una macro para aplicar formato condicional en el área seleccionada.

Hemos utilizado números aleatorios como datos de muestra para demostrar el funcionamiento de la macro.

La macro se puede ejecutar haciendo clic en el botón "Buscar máximo" en la hoja "Principal".

Explicación lógica

Hemos creado la macro "ConditionalFormat" para aplicar formato condicional al área seleccionada. Esta macro resalta la celda en color violeta, que contiene el valor máximo en el área seleccionada.

Antes de ejecutar esta macro, uno tiene que seleccionar un área en la que quiere aplicar el formato condicional.

Por ejemplo, hemos seleccionado un rango de celdas de B9 a F17 como muestra de datos seleccionados.

Al ejecutar la macro después de seleccionar el área de muestra, se aplica formato condicional en el área seleccionada y la celda D16, que contiene el valor más alto (97), se resaltará en color violeta.

Ahora, tome otra muestra. Hemos seleccionado el rango de la celda B10 a F13 como segunda área de muestra.

Después de seleccionar la segunda área de muestra, haga clic en el botón "Find Max" para ejecutar la macro. Se aplicará formato condicional en el área seleccionada y la celda C11 se resaltará en color violeta, ya que contiene el valor máximo (92) en el área seleccionada.

Después de ejecutar la macro para dos muestras diferentes, se aplica formato condicional a ambas. En los datos de la muestra, tanto las celdas C11 como D16 se resaltarán en color violeta, ya que representan valores máximos en sus respectivas muestras.

Si se cambian los valores en cualquiera de las muestras y uno de los valores recién insertados es el valor más alto, entonces se resaltará la celda con ese valor en particular.

Explicación del código

Selection.FormatConditions.Delete

El código anterior se usa para eliminar cualquier formato condicional aplicado a los datos seleccionados.

Selection.FormatConditions.Agregar tipo: = xlExpression, Formula1: = _

"=" & Selection.Cells (1) .Address (False, False) & "= MAX (" & Selection.Address & ")"

El código anterior se usa para agregar un nuevo formato condicional. Tipo especifica que la expresión se usa para aplicar el formato de condición. La fórmula de la expresión se define en Formula1.

Selection.Cells (1) .Address (False, False)

El código anterior se utiliza para hacer referencia a la dirección de la primera celda de la selección.

"=" & Selection.Cells (1) .Address (False, False) & "= MAX (" & Selection.Address & ")"

El código anterior se usa para comparar el valor de la primera celda seleccionada con el valor máximo de la selección.

Selection.FormatConditions (1) .Interior.ColorIndex = 39

El código anterior se usa para asignar color violeta a la celda que cumple con la condición del formato.

Siga a continuación para obtener el código

 Sub ConditionalFormat () With Selection 'Eliminar cualquier formato condicional anterior .FormatConditions.Delete' agregar formato condicional a la celda seleccionada .FormatConditions.Agregar tipo: = xlExpression, Formula1: = _ "=" & Selection.Cells (1) .Address (False , False) & "= MAX (" & Selection.Address & ")" 'Asignación de color violeta para el formato condicional .FormatConditions (1) .Interior.ColorIndex = 39 End With End Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico