Neste artigo vou apresentar 22 maneira de selecionar células/intervalos usando a linguagem VBA.
1: Como selecionar uma célula na planilha ativa
Para selecionar a célula D5 na planilha ativa, é possível usar qualquer um dos exemplos a seguir:ActiveSheet.Cells(5, 4).Select
-ou-
ActiveSheet.Range("D5").Select
2: Como selecionar uma célula em outra planilha na mesma pasta de trabalho
Para selecionar a célula E6 em outra planilha na mesma pasta de trabalho, é possível usar um dos seguintes exemplos:Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
-ou-
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
3: Como selecionar uma célula em uma planilha em uma pasta de trabalho diferente
Para selecionar a célula F7 em uma planilha em uma pasta de trabalho diferente, é possível usar um dos seguintes exemplos:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
-ou-
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
4: Como selecionar um intervalo de células na planilha ativa
Para selecionar o intervalo C2:D10 na planilha ativa, é possível usar qualquer um dos seguintes exemplos:ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
ActiveSheet.Range("C2:D10").Select
ActiveSheet.Range("C2", "D10").Select
5: Como selecionar um intervalo de células em outra planilha na mesma pasta de trabalho
Para selecionar a célula D3:E11 em outra planilha na mesma pasta de trabalho, é possível usar um dos seguintes exemplos:Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
6: Como selecionar um intervalo de células em uma planilha em uma pasta de trabalho diferente
Para selecionar a célula E4:F12 em uma planilha em uma pasta de trabalho diferente, é possível usar um dos seguintes exemplos:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
7: Como selecionar um intervalo nomeado na planilha ativa
Para selecionar o intervalo nomeado "Test" na planilha ativa, é possível usar qualquer um dos seguintes exemplos:Range("Test").Select
Application.Goto "Test"
8: Como selecionar um intervalo nomeado em outra planilha na mesma pasta de trabalho
Para selecionar o intervalo chamado "Test" em outra planilha na mesma pasta de trabalho, é possível usar o seguinte exemplo:Application.Goto Sheets("Sheet1").Range("Test")
Sheets("Sheet1").Activate
Range("Test").Select
9: Como selecionar um intervalo nomeado em uma planilha em uma pasta de trabalho diferente
Para selecionar o intervalo chamado "Test" em uma planilha em uma pasta de trabalho diferente, é possível usar o seguinte exemplo:Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
10: Como selecionar uma célula relativa à célula ativa
Para selecionar uma célula que está cinco linhas abaixo e quatro colunas à esquerda da célula ativa, é possível usar o seguinte exemplo:ActiveCell.Offset(5, -4).Select
ActiveCell.Offset(-2, 3).Select
11: Como selecionar uma célula relativa à outra célula (que não seja a ativa)
Para selecionar uma célula que está cinco linhas abaixo e quatro colunas à direita da célula C7, é possível usar os seguintes exemplos:ActiveSheet.Cells(7, 3).Offset(5, 4).Select
ActiveSheet.Range("C7").Offset(5, 4).Select
12: Como selecionar um intervalo de deslocamento de células a partir de um intervalo específico
Para selecionar um intervalo de células do mesmo tamanho que o intervalo chamado "Test", mas deslocado quatro linhas abaixo e três colunas à direita, é possível usar o seguinte exemplo:ActiveSheet.Range("Test").Offset(4, 3).Select
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
13: Como selecionar um intervalo específico e redimensionar a seleção
Para selecionar o intervalo nomeado "Database" e ampliar a seleção em cinco linhas, é possível usar o seguinte exemplo:Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
Selection.Columns.Count).Select
14: Como selecionar um intervalo especificado, deslocar e redimensioná-lo
Para selecionar um intervalo quatro linhas abaixo e três colunas à direita do intervalo chamado "Database" e incluir duas linhas e uma coluna a mais do que o intervalo nomeado, é possível usar o seguinte exemplo:Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
Selection.Columns.Count + 1).Select
15: Como selecionar a união de dois ou mais intervalos específicos
Para selecionar a união (isto é, a área combinada) dos dois intervalos chamados "Test" e "Sample," é possível usar o seguinte exemplo:Application.Union(Range("Test"), Range("Sample")).Select
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
O método Union da classe de aplicativo falhou
16: Como selecionar a interseção de dois ou mais intervalos específicos
Para selecionar a interseção dos dois intervalos chamados "Test" e "Sample", é possível usar o seguinte exemplo:Application.Intersect(Range("Test"), Range("Sample")).Select
Os exemplos 17-21 deste artigo referem-se ao seguinte conjunto de dados de exemplo. Cada exemplo informa o intervalo de células nos dados de exemplo que serão selecionados.
A1: Nome B1: Vendas C1: Quantidade
A2: a B2: $10 C2: 5
A3: b B3: C3: 10
A4: c B4: $10 C4: 5
A5: B5: C5:
A6: Total B6: $20 C6: 20
17: Como selecionar a última célula de uma coluna de dados contíguos
Para selecionar a última célula em uma coluna contígua, use o seguinte exemplo:ActiveSheet.Range("a1").End(xlDown).Select
18: Como selecionar a célula em branco na parte inferior da coluna de dados contíguos
Para selecionar a célula abaixo de um intervalo de célula contíguas, use o seguinte exemplo:ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
19: Como selecionar um intervalo completo de célula contíguas em uma coluna
Para selecionar um intervalo de células contíguas em uma coluna, use um dos seguintes exemplos:ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
-ou-
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
End(xlDown).Address).Select
20: Como selecionar um intervalo completo de célula não-contíguas em uma coluna
Para selecionar um intervalo de células não-contíguas, use um dos seguintes exemplos:ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
-ou-
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
End(xlUp).Address).Select
21: Como selecionar um intervalo de células retangular
Para selecionar um intervalo de células retangular ao redor da célula, use o método CurrentRegion. O intervalo selecionado pelo método CurrentRegion é uma área limitada por qualquer combinação de linhas e colunas em branco. O seguinte exemplo é sobre como usar o método CurrentRegion:ActiveSheet.Range("a1").CurrentRegion.Select
ActiveSheet.Range("a1", _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
-ou-
ActiveSheet.Range("a1:" & _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
-ou-
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
ActiveSheet.Cells(lastRow, lastCol).Address).Select
22. Como selecionar várias colunas não-contíguas de comprimento variado
Para selecionar várias colunas não-contíguas de comprimentos variado, use a seguinte tabela de exemplo de macro: A1: 1 B1: 1 C1: 1 D1: 1
A2: 2 B2: 2 C2: 2 D2: 2
A3: 3 B3: 3 C3: 3 D3: 3
A4: B4: 4 C4: 4 D4: 4
A5: B5: 5 C5: 5 D5:
A6: B6: C6: 6 D6:
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
OBSERVAÇÕES SOBRE OS EXEMPLOS
- A propriedade ActiveSheet geralmente pode ser omitida, pois estará implícita se uma planilha específica não for nomeada. Por exemplo, ao invés deé possível usar:
ActiveSheet.Range("D5").Select
Range("Test").Select - A propriedade ActiveWorkbook geralmente também pode ser omitida. A menos que uma pasta de trabalho específica seja nomeada, a pasta de trabalho ativa estará implícita.
- Quando você usar o método Application.Goto, se desejar usar dois métodos Cells no método Range quando o intervalo especificado estiver em outra planilha (que não seja a ativa), você deverá incluir o objeto Sheets todas as vezes. Por exemplo:
Application.Goto Sheets("Sheet1").Range( _ Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _ Sheets("Sheet1").Cells(4, 5))) - Para qualquer item entre aspas (por exemplo, o intervalo nomeado "Test"), também é possível usar uma variável cujo valor seja uma cadeia de texto. Por exemplo, ao invés deé possível usar
ActiveWorkbook.Sheets("Sheet1").Activateonde o valor de myVar é "Sheet1".
ActiveWorkbook.Sheets(myVar).Activate

Fala Brother .. Estou Com Duvidas .. Para Inserir Valores Em Rows Através de Variaveis .. Exemplo .. Estou Colocando Assim ..
ResponderExcluirDim i as Integer
i = 5
'Quero selecionar um Intervalo de linhas inteiro
ActiveCell.Offset(5, 0).Rows("1:i").EntireRow.Select
E Esta Dando Erro .. Voce Pode Me Ajudar ? Obrigado !
Como posso selecionar Range('B3:B8","C3:C8") utilizando Cells?
ResponderExcluir