VBA – Destacar Célula
In this Article
Este tutorial demonstrará como usar o VBA para realçar uma célula ou um intervalo de células.
Com o VBA, podemos usar o recurso Formatação condicional do Excel para realçar células ou podemos usar outros métodos para obter um efeito semelhante.
Destacar uma Célula
Para destacar uma célula no VBA, podemos usar o procedimento simples mostrado abaixo.
Sub DestacarCelula()
ActiveCell.Interior.Color = vbRed
End Sub
Destacar um Intervalo de células
Da mesma forma, podemos selecionar um intervalo de células e destacar todas as células do intervalo.
Sub DetacarIntervalo()
Range("A1:A10").Select
Selection.Interior.Color = vbRed
End Sub
Destacar Células com Base no Valor da Célula
Para adicionar uma condição para destacar uma célula, podemos usar uma instrução IF para destacar a célula se o valor da célula estiver acima de um determinado valor, neste caso, maior que 10.
Sub DestacarCelula_1()
If ActiveCell.Value > 10 then
ActiveCell.Interior.Color = vbRed
End If
End Sub
Destacar um Intervalo de Células com Base no Valor da Célula
Para verificar os valores em um intervalo de células, precisaríamos fazer um loop em 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.
Sub DestacarIntervalorDeCelulas()
Dim rng As Range
For Each rng In Range("A1:A10")
If IsNumeric(rng.Value) Then
If rng.Value > 10 Then
rng.Interior.Color = vbRed
End If
End If
Next rng
End 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 destacá-la. 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 tem um valor numérico e, em seguida, aplicamos a Formatação Condicional.
Sub DefinirFormatacaoCondicional()
Dim rng As Range
For Each rng In Range("A1:A10")
If IsNumeric(rng.Value) Then
rng.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=10"
rng.FormatConditions(1).Interior.Color = vbRed
rng.FormatConditions(1).StopIfTrue = False
End If
Next rng
End Sub
Destacar uma Célula Quando a Seleção for Alterada
Podemos tornar dinâmico o destaque de uma célula quando o ponteiro da célula se move na planilha atual usando o evento Worksheet_Change. No exemplo abaixo, todos os realces da planilha serão removidos (exceto aqueles feitos pela formatação condicional), e a ActiveCell será realçada em vermelho (ColorIndex = 3).
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNone
Target.Interior.ColorIndex = 3
End Sub