0180-Dica VBA: Destacando intervalos úteis

No artigo 0166-Dica VBA: Método SpecialCells vimos como é possível selecionar intervalos que contenham fórmulas, constantes, estejam em branco ou outras condições. (Se não leu ainda, aproveite para visitá-lo na sequência, clicando no link).

Hoje veremos outras formas de referenciar via VBA alguns intervalos bem úteis.

1. Destacar todas as células da planilha (Propriedade Cells)

Ex. Colorir todas as células da planilha com a cor vermelha

Sub TodasEmVermelho()
ActiveSheet.Cells.Interior.ColorIndex = 3
End Sub

2. Destacar o intervalo de células utilizado da planilha (Propriedade UsedRange)

Comentário: utilizando UsedRange iremos destacar o retângulo que contém a célula superior esquerda e a célula inferior direita que contém valores. Ou seja, o intervalo que contém todas as células preenchidas da planilha. Esse poderá conter células vazias se o intervalo for descontínuo.

Ex. O código abaixo, irá colorir todas as células preenchidas da planilha:

Sub ColorirTodasCelulasPreenchidas()
On Error Resume Next
With ActiveSheet.UsedRange
    Set rg1 = .SpecialCells(xlCellTypeConstants, 23)
    Set rg2 = .SpecialCells(xlCellTypeFormulas, 23)
End With
rg1.Interior.ColorIndex = 5
rg2.Interior.ColorIndex = 5
End Sub

Observação: Existe a possibilidade de não serem encontradas células com fórmulas, ou com contantes. Por isso utilizamos a instrução On Error Resume Next, permitindo que o código siga adiante e colorindo as células que atenderem às condições pesquisadas.

3. Destacar uma região de células (Propriedade CurrentRegion).

Comentário: Essa propriedade permite destacar as células do intervalo contínuo em torno de uma célula informada.

Ex. O código a seguir irá colorir as células do intervalo contínuo em torno da célula A1.

Sub ColorirCurrentRegion()
Range("A1").CurrentRegion.Interior.ColorIndex = 3
End Sub

Comentário, se quisermos apenas as células preenchidas dentro deste intervalo, podemos utilizar o mesmo artifício utilizado no tópico anterior:

Sub ColorirCurrentRegionPreenchidas()
On Error Resume Next
With Range("A1").CurrentRegion
    Set rg1 = .SpecialCells(xlCellTypeConstants, 23)
    Set rg2 = .SpecialCells(xlCellTypeFormulas, 23)
End With
rg1.Interior.ColorIndex = 2
rg2.Interior.ColorIndex = 2

End Sub

4. Destacar o intervalo contínuo até a última linha preenchida (Propriedade End(xlDown))

Ex. Colorir o intervalo de B1 até a última célula preenchida continuamente da coluna B.

Sub ColorirIntervaloContinuoLinhas()
Range(Range("B1"), Range("B1").End(xlDown)).Interior.ColorIndex = 10
End Sub

Observação: Se, por exemplo, a célula B10 estiver vazia, e a partir de B11 houver outras células preenchidas, apenas o intervalo B1:B9 será colorido. Para determinar a última célula que contém valores em uma coluna, leiam: 0174-Dica VBA: Determinando a última célula com valores.

5. Destacar o intervalo contínuo até a última coluna preenchida (Propriedade End(xlToRight))

Ex. Colorir o intervalo de H1 até a última célula preenchida da linha 1.

Sub ColorirIntervaloContinuoColunas()
Range(Range("H1"), Range("H1").End(xlToRight)).Interior.ColorIndex = 9
End Sub

6. Destacar o intervalo contínuo até a última linha e até a última coluna.

Ex. Colorir o intervalo de A1 até a última linha preenchida e até a última coluna preenchida.

Sub ColorirIntervaloContinuo()
    Range(Range(Range("A1"), Selection.End(xlDown)), Selection.End(xlToRight)).Interior.ColorIndex = 7
End Sub
Anúncios

In Excel We Trust

Marcado com: , , , ,
Publicado em Nível: Avançado

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: