Este tutorial demonstrará como usar o VBA para destacar uma célula ou um intervalo de células.
A formatação condicional é uma forma de destacar células no Excel. Também podemos usar o VBA para realçar células.
Destacar uma célula
Para destacar uma célula em VBA, podemos usar o procedimento simples mostrado abaixo.
123 | Sub HighlightCell ()ActiveCell.Interior.Color = vbRedEnd Sub |
Destaque um intervalo de células
Da mesma forma, podemos selecionar um intervalo de células e destacar todas as células no intervalo.
1234 | Sub HighlightRange ()Intervalo ("A1: A10"). SelecioneSelection.Interior.Color = vbRedEnd Sub |
Destacar células com base no valor da célula
Para adicionar uma condição para realçar uma célula, podemos usar uma instrução IF para realçar a célula se o valor da célula estiver acima de um certo valor, neste caso maior que 10.
12345 | Sub HightlightCell_1Se ActiveCell.Value> 10, entãoActiveCell.Interior.Color = vbRedFim seEnd Sub |
Destaque um intervalo de células com base no valor da célula
Para verificar os valores em um intervalo de células, precisaríamos percorrer cada célula, estabelecer seu valor e, em seguida, destacar a célula de acordo. No exemplo abaixo, primeiro estabeleceremos que o valor mantido no intervalo é um número e, em seguida, testaremos para ver se esse número é maior que 10.
12345678910 | Sub HighlightRangeOfCells ()Dim rng como alcancePara cada rng no intervalo ("A1: A10")If IsNumeric (rng.Value) ThenSe rng.Value> 10 Thenrng.Interior.Color = vbRedFim seFim sePróximo rngEnd Sub |
Destacar uma célula com formatação condicional
Também podemos usar o VBA para aplicar a formatação condicional a uma célula para realçar a célula. No exemplo abaixo, a formatação condicional será aplicada a cada célula do intervalo. Como no exemplo acima, primeiro testamos se a célula possui um valor numérico e, em seguida, aplicamos a formatação condicional.
12345678910 | Sub SetConditionalFormatting ()Dim rng como alcancePara cada rng no intervalo ("A1: A10")If IsNumeric (rng.Value) Thenrng.FormatConditions.Add Type: = xlCellValue, Operator: = xlGreater, Formula1: = "= 10"rng.FormatConditions (1) .Interior.Color = vbRedrng.FormatConditions (1) .StopIfTrue = FalseFim sePróximo rngEnd Sub |
Destacar uma célula quando a seleção mudar
Podemos tornar o realce de uma célula dinâmico quando o ponteiro da célula se move na planilha atual usando o evento Worksheet_Change. No exemplo abaixo, todos os realces na folha serão removidos (exceto aqueles feitos por formatação condicional), e a célula ativa será realçada em vermelho (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3End Sub |