Artigo: 291308 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Mais Informação

A Microsoft fornece exemplos de programação apenas a título informativo, sem garantia expressa ou implícita, incluindo, sem limitação, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador conhece a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Os exemplos neste artigo utilizam os métodos do Visual Basic listados na seguinte tabela.
   Método             Argumentos
   ------------------------------------------
   Activate           nenhum
   Cells              rowIndex, columnIndex
   Application.Goto   reference, scroll
   Offset             rowOffset, columnOffset
   Range              cell1
                      cell1, cell2
   Resize             rowSize, columnSize
   Select             nenhum
   Sheets             index (ou sheetName)
   Workbooks          index (ou bookName)
   End                direction
   CurrentRegion      nenhum
				Os exemplos deste artigo utilizam as propriedades na seguinte tabela. <Formatting Type="FixedText"><![CDATA[
   Propriedade         Utilização
   ---------------------------------------------------------------------
   ActiveSheet      para especificar a folha activa
   ActiveWorkbook   para especificar o livro activo
   Columns.Count    para contar o número de colunas no item especificado
   Rows.Count       para contar o número de linhas no item especificado
   Selection        para referenciar o intervalo actualmente seleccionado
				

1: Como seleccionar uma célula na Folha de cálculos activa

Para seleccionar a célula D5 na folha de cálculos activa, pode utilizar qualquer um dos exemplos seguintes:
ActiveSheet.Cells(5, 4).Select
				
- ou -
ActiveSheet.Range("D5").Select
				

2: Como seleccionar uma célula noutra folha de cálculo no mesmo livro

Para seleccionar a célula E6 noutra folha de cálculos no mesmo livro, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   - ou -
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 1 acima para seleccionar a célula:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				

3: Como seleccionar uma célula numa folha de cálculo num livro diferente

Para seleccionar a célula F7 numa folha de cálculos num livro diferente, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
- ou -
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 1 acima para seleccionar a célula:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4: Como seleccionar um intervalo de células na folha de cálculos activa

Para seleccionar o intervalo C2:D10 na folha de cálculos activa, pode utilizar qualquer um dos exemplos seguintes:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5: Como seleccionar um intervalo de células noutra folha de cálculo no mesmo livro

Para seleccionar o intervalo D3:E11 noutra folha de cálculos no mesmo livro, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 4 acima para seleccionar o intervalo:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6: Como seleccionar um intervalo de células numa folha de cálculo num livro diferente

Para seleccionar o intervalo E4:F12 numa folha de cálculos num livro diferente, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 4 acima para seleccionar o intervalo:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7: Como seleccionar um intervalo com nome na folha de cálculos activa

Para seleccionar o intervalo com nome "Test" na folha de cálculos activa, pode utilizar qualquer um dos exemplos seguintes:
Range("Test").Select
				
Application.Goto "Test"
				

8: Como seleccionar um intervalo com nome noutra folha de cálculo no mesmo livro

Para seleccionar o intervalo com nome "Test" noutra folha de cálculos no mesmo livro, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto Sheets("Sheet1").Range("Test")
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 7 acima para seleccionar o intervalo com nome:
Sheets("Sheet1").Activate
Range("Test").Select
				

9: Como seleccionar um intervalo com nome numa folha de cálculo num livro diferente

Para seleccionar o intervalo com nome "Test" numa folha de cálculos num livro diferente, pode utilizar qualquer um dos exemplos seguintes:
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Em alternativa, pode activar a folha de cálculo e utilizar o método 7 acima para seleccionar o intervalo com nome:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10: Como seleccionar uma célula relativa à célula activa

Para seleccionar uma célula cinco linhas abaixo e quatro colunas à esquerda da célula activa, pode utilizar o exemplo seguinte:
ActiveCell.Offset(5, -4).Select
				
Para seleccionar uma célula que esteja duas linhas acima e três colunas à direita da célula activa, poderá utilizar o seguinte exemplo:
ActiveCell.Offset(-2, 3).Select
				
Nota Se tentar seleccionar uma célula que esteja "fora da folha de cálculo", irá obter um erro. O primeiro exemplo mostrado acima irá devolver um erro se a célula activa estiver nas colunas A a D, uma vez que a deslocação de quatro colunas para a esquerda colocaria a célula activa num endereço de célula inválido.

11: Como seleccionar uma célula relativa a outra célula activa (não a activa)

Para seleccionar uma célula cinco linhas abaixo e quatro colunas à direita da célula C7, pode utilizar qualquer um dos exemplos seguintes:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12: Como seleccionar um intervalo de células deslocado a partir de um intervalo especificado

Para seleccionar um intervalo de células que tenha o mesmo tamanho que o intervalo com nome "Test" mas que esteja deslocado quatro linhas para baixo e três colunas para a direita, poderá utilizar o seguinte exemplo:
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Se o intervalo com nome estiver noutra folha de cálculo (que não a activa), active essa folha de cálculo primeiro e seleccione o intervalo utilizando o seguinte exemplo:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13: Como seleccionar um intervalo específico e redimensionar a selecção

Para seleccionar o intervalo com nome "Database" e de seguida alargar a selecção em cinco linhas, pode utilizar o exemplo seguinte:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14: Como seleccionar um intervalo específico, deslocá-lo e de seguida redimensioná-lo

Para seleccionar um intervalo quatro linhas abaixo e três colunas à direita do intervalo com nome "Database" e incluir duas linhas e uma coluna a mais que o intervalo com nome, poderá utilizar o seguinte exemplo:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15: Como seleccionar a união de dois ou mais intervalos especificados

Para seleccionar a união (ou seja, a área combinada) dos dois intervalos com nome "Test" e "Sample", poderá utilizar o seguinte exemplo:
Application.Union(Range("Test"), Range("Sample")).Select
				
Tenha em atenção que ambos os intervalos têm de estar na mesma folha de cálculo para que este exemplo funcione. Tenha também em atenção que o método Union não funciona entre folhas. Por exemplo, a linha seguinte funciona
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
mas esta linha
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
				
devolve a mensagem de erro:
Union method of application class failed (Falha no método Union da classe de aplicação)

16: Como seleccionar a intersecção de dois ou mais intervalos especificados

Para seleccionar a intersecção dos dois intervalos com nome "Test" e "Sample", poderá utilizar o seguinte exemplo:
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Tenha em atenção que ambos os intervalos têm de estar na mesma folha de cálculo para que este exemplo funcione.



Os exemplos 17 a 21 neste artigo referem-se ao seguinte conjunto de exemplos de dados. Cada exemplo indica o intervalo de células nos exemplos de dados que seriam seleccionados.
   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 seleccionar a última célula de uma coluna de dados contíguos

Para seleccionar a última célula numa coluna contígua, utilize o exemplo seguinte:
ActiveSheet.Range("a1").End(xlDown).Select
				
Quando este código for utilizado com a tabela de exemplo, a célula A4 será seleccionada.

18: Como seleccionar a célula em branco no fundo de uma coluna de dados contíguos

Para seleccionar a célula abaixo de um intervalo de células contíguas, utilize o exemplo seguinte:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Quando este código for utilizado com a tabela de exemplo, a célula A5 será seleccionada.

19: Como seleccionar um intervalo completo de células contíguas numa coluna

Para seleccionar um intervalo de células contíguas numa coluna, utilize um dos exemplos seguintes:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
				
   - ou -
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
				
Quando este código for utilizado com a tabela de exemplo, as células A1 a A4 serão seleccionadas.

20: Como seleccionar um intervalo completo de células não contíguas numa coluna

Para seleccionar um intervalo de células não contíguas, utilize um dos exemplos seguintes:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
				
   - ou -
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
				
Quando este código for utilizado com a tabela de exemplo, seleccionará as células A1 a A6.

21: Como seleccionar um intervalo de células rectangular

De modo a seleccionar um intervalo rectangular de células à volta de uma célula, utilize o método CurrentRegion. O intervalo seleccionado pelo método CurrentRegion é uma área delimitada por qualquer combinação de linhas em branco e colunas em branco. Segue-se um exemplo de como utilizar o método CurrentRegion:
ActiveSheet.Range("a1").CurrentRegion.Select
				
Este código seleccionará as células A1 a C4. Encontra listados abaixo outros exemplos de como seleccionar o mesmo intervalo de células:
ActiveSheet.Range("a1", _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
				
   - ou -
				
ActiveSheet.Range("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
				
Em alguns casos, poderá pretender seleccionar as células A1 a C6. Neste exemplo, o método CurrentRegion não irá funcionar devido à linha em branco na Linha 5. Os seguintes exemplos irão seleccionar todas as células:
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 seleccionar múltiplas colunas não contíguas de comprimento variável

Para seleccionar múltiplas colunas não contíguas de comprimento variável, utilize a seguinte tabela e macro de exemplo:
   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
				
Quando este código for utilizado com a tabela de exemplo, as células A1:A3 e C1:C6 serão seleccionadas.

NOTAS SOBRE OS EXEMPLOS

  • Normalmente, a propriedade ActiveSheet pode ser omitida, uma vez que se considera implícita sempre que uma folha específica não tiver nome. Por exemplo, em vez de
    ActiveSheet.Range("D5").Select
    						
    poderá utilizar:
    Range("D5").Select
    						
  • Normalmente, a propriedade ActiveWorkbook também pode ser omitida. A não ser que um livro específico tenha nome, o livro activo será considerado implícito.
  • Quando utilizar o método Application.Goto, se pretender utilizar dois métodos Cells dentro do método Range quando o intervalo especificado estiver noutra folha de cálculo (que não a activa), terá de incluir sempre o objecto Sheets. Por exemplo:
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • Para qualquer item que esteja entre aspas (por exemplo, o intervalo com nome "Test"), também poderá utilizar uma variável cujo valor seja uma cadeia de texto. Por exemplo, em vez de
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    poderá utilizar
    ActiveWorkbook.Sheets(myVar).Activate
    						
    Em que o valor de myVar é "Sheet1".

Referências


Para mais informações sobre como utilizar o código de exemplo contido neste artigo, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
290140 Como executar o exemplo de código para programas do Office XP a partir de artigos da Base de Dados de Conhecimento

Propriedades

Artigo: 291308 - Última revisão: 9 de março de 2014 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Palavras-chave: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com