VBA – Intervalo de Planilha
In this Article
Este tutorial demonstrará como usar a propriedade Worksheet Range (Intervalo de Planilha) no VBA.
A propriedade Worksheet.Range no VBA é usada para especificar uma célula ou um grupo de células no Excel. Ela retorna o objeto Worksheet.Range que representa a célula ou as células e tem uma variedade de métodos disponíveis, como Select, Font, Copy e PasteSpecial, para citar apenas alguns.
Sintaxe do Worksheet.Range
A sintaxe da propriedade Worksheet.Range é simples:
Worksheets("NomeDaPlanilha").Range(Celula1,[Celula2])
em que Celula1 é obrigatório e [Celula2] é opcional.
Portanto, para fazer referência à célula A1 na planilha 1, digitaríamos:
Worksheets("Planilha1").Range("A1")
Para fazer referência à célula A1 a A4 (incluindo as células A2 e A3) na Planilha 1, podemos fazer referência à primeira célula, depois usar dois pontos e fazer referência à última célula do intervalo.
Worksheets("Planilha1").Range("A1:A4")
Como alternativa, podemos usar o argumento [Celula2]. Isso também incluiria as células A2 e A3 no intervalo da planilha.
Worksheets("Planilha1").Range("A1", "A4")
Se quisermos nos referir a duas células que não são contíguas, podemos colocar uma vírgula entre os dois endereços de célula.
Worksheets("Planilha1").Range("A1, C1")
Propriedades e Métodos de Worksheet.Range
Depois de usar a propriedade Range do objeto Worksheet para fazer referência ao nosso intervalo, podemos usar uma variedade de propriedades e métodos que agora estão disponíveis para o objeto Range para controlar a aparência e/ou o comportamento das células usando o VBA.
Para ver as propriedades e os métodos do objeto Range, podemos digitar um ponto final depois de declarar nosso intervalo.
As propriedades serão exibidas com o ícone de uma pequena “mão”, enquanto os métodos serão exibidos com o ícone de um pequeno “bloco” verde.
Método Select (Selecionar)
Um dos métodos mais comuns a serem usados é o método select. Ele permite selecionar células específicas ou uma célula na planilha do Excel.
Para selecionar uma única célula em uma planilha, basta fazer referência à única célula no objeto Worksheet.Range.
Sub SelecionarIntervalo()
Worksheets("Planilha1").Range("B2").Select
End Sub
Para selecionar um intervalo de células, podemos nos referir a um intervalo de células no Worksheet.RangeObject.
Sub SelecionarIntervalo()
Worksheets("Planilha1").Range("B2:C5").Select
End Sub
Para selecionar dois intervalos não contíguos, podemos usar uma vírgula entre os dois intervalos.
Sub SelecionarIntervalo()
Worksheets("Planilha1").Range("B3:B5, C2:F2").Select
End Sub
Métodos Copy e PasteSpecial
Podemos copiar as informações de células para outras células usando os métodos Copy e PasteSpecial.
Sub CopiarIntervalo()
Worksheets("Planilha1").Range("B2:F5").Copy
Worksheets("Planilha1").Range("B8").PasteSpecial xlPasteAll
End Sub
Propriedade Font
Podemos usar a propriedade Font para formatar as células. No exemplo abaixo, estamos usando a propriedade Bold da propriedade Font para colocar as células em negrito.
Sub IntervaloFonte()
Worksheets("Planilha1").Range("B3:B5, C2:F2").Font.Bold = True
End Sub
Propriedade Borders
Podemos usar a propriedade Borders e, em seguida, a propriedade LineStyle da propriedade Borders para colocar bordas em todas as células.
Sub CopiarIntervalo()
Worksheets("Planilha1").Range("B2:F5").Borders.LineStyle = xlContinuous
End Sub
Propriedade CurrentRegion
Podemos usar a propriedade Current Region do objeto Range e, em seguida, o método Select do objeto Current Region para selecionar todas as células que estão dentro da região atual da célula especificada.
A Current Region selecionará todas as células adjacentes à célula especificada no Range, desde que essas células sejam contíguas. Ela não selecionará nenhuma célula após uma linha ou coluna em branco.
Sub ExemploCurrentRegion()
Worksheets("Planilha1").Range("B2").CurrentRegion.Select
End Sub
Propriedade UsedRange
Se quisermos selecionar todas as células que estão preenchidas em uma planilha, precisaremos usar uma propriedade da própria planilha chamada UsedRange.
Sub ExemploSelecionarUsedRange()
Worksheets("Planilha1").UsedRange.Select
End Sub