Curso de Excel Avançado em 120 Lições - 420 páginas de conteúdo

Capa do CURSO Sobre o autor:     Júlio Battisti Página Principal Curso de Excel Básico
Módulo 1 Módulo 2 Módulo 3 Módulo 4 Módulo 5 Módulo 6
Modulo 6 - Lição 17 - Worksheet e Range - Propriedades e Métodos - Parte I
Lição Anterior Índice do Curso Próxima Lição


Lição 17: Worksheet e Range – Propriedades e Métodos – Parte I

Nessa lição e nas próximas duas, veremos alguns exemplos de usos práticos do objeto Worksheet e de Range. Também serão apresentados detalhes sobre alguns dos principais métodos e propriedades desses objetos.

 

Como fazer referência a células e intervalos:

 

Uma tarefa comum ao usar o VBA é especificar uma célula ou intervalo de células e, em seguida, fazer algo com elas, como inserir uma fórmula ou alterar o formato. Geralmente, você pode fazer isso em uma instrução que identifique o intervalo e também altere uma propriedade ou aplique um método.

 

Um objeto Range no VBA pode ser uma única célula ou um intervalo de células. Os tópicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com objetos Range.

 

Referir-se a células e intervalos usando a notação A1:

 

Você pode referir-se a uma célula ou intervalo de células no estilo de referência A1 usando o método Range. O exemplo seguinte altera o formato das células A1:D5 para negrito.

 

Workbooks("Book1").Sheets("Sheet1").Range("A1:D5").Font.Bold = True

 

A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range.

 

Referência                Significado

Range("A1")               Célula A1

Range("A1:B5")            Células de A1 até B5

Range("C5:D9,G9:H16")     Uma seleção de várias áreas

Range("A:A")              Coluna A

Range("1:1")              Linha 1

Range("A:C")              Colunas de A até C

Range("1:5")              Linhas 1 até 5

Range("1:1,3:3,8:8")      Linhas 1, 3 e 8

Range("A:A,C:C,F:F")      Colunas A, C e F 

 

Referir-se a células usando números de índice:

 

Você pode usar a propriedade Cells para referir-se a uma única célula usando números de índice de linha e coluna. Essa propriedade retorna um objeto Range representando uma única célula. No exemplo seguinte, Cells(6,1) retorna a célula A6 da planilha Sheet1. Em seguida, a propriedade Value é definida como 10. 

 

    Worksheets("Sheet1").Cells(6, 1).Value = 10

 

A propriedade Cells funciona bem para loop através de um intervalo de células porque você pode substituir os números de índice por variáveis, conforme mostrado no exemplo seguinte.

 

Dim counter As Integer

For counter = 1 To 20

    Worksheets("Sheet1").Cells(counter, 3).Value = counter

Next counter

 

Observação:  Se você desejar alterar as propriedades ou aplicar um método a todo um intervalo de células de uma só vez, use a propriedade Range. Para obter mais informações, consulte Referir-se a células usando notação A1.

 

Referir-se a linhas e colunas:

 

Use a propriedade Rows ou a propriedade Columns para trabalhar com linhas ou colunas inteiras. Essas propriedades retornam um objeto Range representando um intervalo de células. No exemplo seguinte, Rows(1) retorna a linha um na planilha Sheet1. Em seguida, a propriedade Bold do objeto Font do intervalo é definida como True.

 

Worksheets("Sheet1").Rows(1).Font.Bold = True

 

A tabela seguinte ilustra algumas referências de linha e coluna usando as propriedades Rows e Columns.

 

Referência               Significado

Rows(1)                  Linha um

Rows                     Todas as linhas da planilha

Columns(1)               Coluna um

Columns("A")             Coluna um

Columns                  Todas as colunas da planilha

 

Para trabalhar com várias linhas ou colunas ao mesmo tempo, crie uma variável de objeto e use o método Union, combinando várias chamadas à propriedade Rows ou Columns. O exemplo seguinte altera para negrito o formato das linhas um, três e cinco na planilha um da pasta de trabalho ativa.

 

   Worksheets("Sheet1").Activate

    Dim myUnion As Range

    Set myUnion = Union(Rows(1), Rows(3), Rows(5))

    myUnion.Font.Bold = True 

 

Referir-se a intervalos nomeados:

 

Os intervalos são mais fáceis de identificar por nome do que por notação A1. Para nomear um intervalo selecionado, clique na caixa de nome na extremidade esquerda da barra de fórmulas, digite um nome e, em seguida, pressione ENTER.

 

Referir-se a um intervalo nomeado:

 

O exemplo seguinte refere-se ao intervalo chamado "MyRange" na pasta de trabalho chamada "MyBook.xls".

 

Range("MyBook.xls!MyRange").Font.Italic = True

 

O exemplo seguinte se refere ao intervalo específico de planilha chamado "Sheet1!Sales" na pasta de trabalho chamada "Report.xls".

 

Range("[Report.xls]Sheet1!Sales").BorderAround weight:=xlthin

 

Para selecionar um intervalo nomeado, use o método GoTo, o qual ativa a pasta de trabalho e a planilha e, em seguida, seleciona o intervalo.

 

Application.Goto Reference:="MyBook.xls!MyRange"

Selection.ClearContents

 

O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta de trabalho ativa.

 

Application.Goto Reference:="MyRange"

Selection.ClearContents

 

Realizar loop em células de um intervalo nomeado

 

O exemplo seguinte faz um loop através de cada célula de um intervalo nomeado usando um loop For Each...Next. Se o valor de qualquer célula do intervalo exceder o valor de limit, a cor da célula será alterada para amarelo.

 

Const limit As Integer = 25

For Each c In Range("MyRange")

        If c.Value > limit Then

            c.Interior.ColorIndex = 27

        End If

    Next c 

 

Na próxima lição continuaremos a ver exemplos de referência a células e faixa de células.

Todos os direitos reservados: ® Júlio Battisti, 2002

Lição Anterior Índice do Curso Próxima Lição
Módulo 1 Módulo 2 Módulo 3 Módulo 4 Módulo 5 Módulo 6
Capa do CURSO Sobre o autor:     Júlio Battisti Página Principal Curso de Excel Básico