Configure a formatação condicional para uma área usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma macro para aplicar a formatação condicional na área selecionada.

Usamos números aleatórios como dados de amostra para demonstrar o funcionamento da macro.

A macro pode ser executada clicando no botão “Find Max” na planilha “Main”.

Explicação lógica

Criamos a macro “ConditionalFormat” para aplicar a formatação condicional à área selecionada. Esta macro destaca a célula na cor violeta, que contém o valor máximo na área selecionada.

Antes de executar esta macro, deve-se selecionar uma área na qual deseja aplicar a formatação condicional.

Por exemplo, selecionamos um intervalo de células de B9 a F17 como a amostra dos dados selecionados.

Ao executar a macro após selecionar a área de amostra, a formatação condicional é aplicada na área selecionada e a célula D16, que contém o valor mais alto (97), será destacada na cor violeta.

Agora, pegue outra amostra. Selecionamos a faixa de células B10 a F13 como segunda área de amostra.

Após selecionar a segunda área de amostra, clique no botão “Find Max” para executar a macro. A formatação condicional será aplicada na área selecionada e a célula C11 será destacada na cor violeta, pois contém o valor máximo (92) na área selecionada.

Depois de executar a macro para dois exemplos diferentes, a formatação condicional é aplicada a ambos. Nos dados da amostra, ambas as células C11 e D16 serão destacadas na cor violeta, pois representam valores máximos em suas respectivas amostras.

Se os valores em qualquer uma das amostras forem alterados e um dos valores recém-inseridos for o valor mais alto, a célula com aquele valor específico será destacada.

Explicação do código

Selection.FormatConditions.Delete

O código acima é usado para excluir qualquer formatação condicional aplicada aos dados selecionados.

Selection.FormatConditions.Add Type: = xlExpression, Formula1: = _

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

O código acima é usado para adicionar uma nova formatação condicional. O tipo especifica que a expressão é usada para aplicar a formatação da condição. A fórmula da expressão é definida na Fórmula 1.

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

O código acima é usado para fazer referência ao endereço da primeira célula na seleção.

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

O código acima é usado para comparar o valor da primeira célula selecionada com o valor máximo da seleção.

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

O código acima é usado para atribuir a cor violeta à célula que satisfaça a condição da formatação.

Siga abaixo para o código

 Sub ConditionalFormat () With Selection 'Excluir qualquer formatação condicional anterior .FormatConditions.Delete' adicionar formatação condicional à célula selecionada .FormatConditions.Add Type: = xlExpression, Formula1: = _ "=" & Selection.Cells (1) .Address (False , False) & "= MAX (" & Selection.Address & ")" 'Atribuindo cor violeta para a formatação condicional .FormatConditions (1) .Interior.ColorIndex = 39 End With End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail