Configurar el formato condicional para un área con VBA en Microsoft Excel
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, se resaltará la celda con ese valor en particular.
Explicación del código
Selection.FormatConditions.Delete El código anterior se utiliza para eliminar cualquier formato condicional aplicado a los datos seleccionados.
Selection.FormatConditions.Add Type: = 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 utiliza 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 utiliza para asignar el color violeta a la celda que cumple la condición del formato.
Siga el código a continuación
Sub ConditionalFormat() With Selection 'Delete any previous conditional formatting .FormatConditions.Delete 'add conditional formatting to selected cell .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")" 'Assigning Violet color for the conditional formatting .FormatConditions(1).Interior.ColorIndex = 39 End With End Sub
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]