VBA – Destacar Célula

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 6, 2023

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
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA