[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosExcel Avançado › Módulo 6 : 07
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Excel Avançado - 120 Lições
Autor: Júlio Battisti
Módulo 6 - Lição 07 - Trabalhando com o Objeto Range

Agora vamos descer um pouco mais na hierarquia de objetos do Excel. Já passamos pelo objeto Application (que faz referência ao próprio Excel); em seguida pelo objeto Workbook (o qual faz referência a uma pasta de trabalho, isto é, a um arquivo .xls); e, na última lição, estudamos o objeto Worksheet, o qual faz referência a uma planilha, dentro de uma pasta de trabalho.

O próximo passo é aprendermos a utilizar os objetos que fazem referência a uma célula ou faixa de células, dentro de uma planilha.O objeto Workbook representa uma pasta de trabalho (arquivo .xls). Dentro de uma pasta de trabalho, podemos ter uma ou mais planilhas, as quais são acessadas usando-se o objeto Worksheet e a coleção Worksheets. Dentro de uma planilha, usamos o objeto Range para acessar uma célula ou faixa de células da planilha. Esse é o assunto dessa lição, ou seja: o objeto Range.

O objeto Range:

O objeto Range representa uma célula, uma linha, uma coluna, uma seleção de células contendo um ou mais blocos contíguos de células ou um intervalo 3D.

Estudaremos as seguintes propriedades do objeto Range:

:: Propriedade Range

:: Propriedade Cells

:: Range e Cells

:: Propriedade Offset

:: Método Union

Propriedade Range:

Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto Range representando uma única célula ou um intervalo de células. O exemplo seguinte atribui o valor da célula A1 para a célula A5.

Worksheets("Plan1").Range("A5").Value = Worksheets("Plan1").Range("A1").Value

O exemplo seguinte preenche o intervalo A1:H8 com números randômicos (aleatórios), definindo a fórmula para cada célula do intervalo. Quando usada sem um qualificador de objeto (um objeto à esquerda do ponto), a propriedade Range retorna um intervalo da planilha ativa. Se a planilha ativa não for uma planilha de trabalho, o método falhará. Use o método Activate para ativar uma planilha antes de usar a propriedade Range sem um qualificador de objeto explícito.

Worksheets("Plan1").Activate

Range("A1:H8").Formula = "=rand()"

O exemplo seguinte limpa o conteúdo do intervalo chamado "Criteria".

Worksheets(1).Range("criteria").ClearContents

Se você usar um argumento dex texto para o endereço do intervalo, você terá que especificar o endereço em notação de estilo A1 (você não poderá usar a notação de estilo L1C1, onde L1 significa Linha 1 e C1 significa Coluna 1).

Propriedade Cells:

Use Cells(linha, coluna) onde linha é o índice da linha e coluna é o índice da coluna, para retornar uma única célula. O exemplo seguinte define o valor da célula A1 como 24.

Worksheets(1).Cells(1, 1).Value = 24

O exemplo seguinte define a fórmula para a célula A2.

ActiveSheet.Cells(2,1).Formula = "=sum(B1:B5)"

Embora você também possa usar Range("A1") para retornar a célula A1, pode haver ocasiões em que a propriedade Cells seja mais conveniente porque você pode usar uma variável para a linha ou coluna. O exemplo seguinte cria cabeçalhos de coluna e linha na planilha Plan1. Observe que após a planilha ser ativada, a propriedade Cells pode ser usada sem uma declaração explícita de planilha (ela retorna uma célula da planilha ativa).

Worksheets("Plan1").Activate

For theYear = 1 To 5

Cells(1, theYear + 1).Value = 1990 + theYear

Next theYear

For theQuarter = 1 To 4

Cells(theQuarter + 1, 1).Value = "Q" & theQuarter

Next theQuarter

Apesar de você poder usar funções de cadeia de caracteres do VBA para alterar as referências de estilo A1, é muito mais fácil (e é uma prática de programação muito melhor) usar a notação Cells(1, 1).

Use expressão.Cells(linha, coluna), onde expressão é uma expressão que retorne um objeto Range, e linha e coluna são relativas ao canto superior esquerdo do intervalo, para retornar parte de um intervalo. O exemplo seguinte define a fórmula para a célula C5.

Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=rand()"

Range e Cells

Propriedade Offset:

Use Offset(linha, coluna), onde linha e coluna são os deslocamentos de linha e coluna, para retornar um intervalo em um deslocamento especificado de um outro intervalo. O exemplo seguinte seleciona a célula três linhas abaixo e uma coluna à esquerda da célula do canto superior esquerdo da seleção atual. Você não pode selecionar uma célula que não esteja na planilha ativa, portanto, você precisa ativar primeiro a planilha.

Worksheets("Plan1").Activate

Selection.Offset(3, 1).Range("A1").Select

Método Union:

Use Union(intervalo1, intervalo2, ...) para retornar intervalos de várias áreas - isto é, intervalos compostos de dois ou mais blocos contíguos de células. O exemplo seguinte cria um objeto definido como a união de intervalos A1:B2 e C3:D4 e, em seguida, seleciona o intervalo definido.

Dim r1 As Range, r2 As Range, myMultiAreaRange As Range

Worksheets("Plan1").Activate

Set r1 = Range("A1:B2")

Set r2 = Range("C3:D4")

Set myMultiAreaRange = Union(r1, r2)

myMultiAreaRange.Select

Vamos apresentar mais alguns exemplos do uso da propriedade Cells, a qual é a propriedade mais utilizada do objeto Range.

Este exemplo define o tamanho da fonte para a célula C5 de planilha Plan1 como 14 pontos.

Worksheets("Plan1").Cells(5, 3).Font.Size = 14

Este exemplo limpa a fórmula na célula um da planilha Plan1:

Worksheets("Plan1").Cells(1).ClearContents

Este exemplo percorre as células A1:J4 da planilha Plan1. Se uma célula contiver um valor menor que 0,001, o exemplo substituirá esse valor por 0 (zero).

For rwIndex = 1 to 4

For colIndex = 1 to 10

If Worksheets("Plan1").Cells(rwIndex, colIndex).Value < .001 Then

Worksheets("Plan1").Cells(rwIndex, colIndex) .Value = 0

End If

Next colIndex

Next rwIndex

Este exemplo define o estilo da fonte para as células A1:C5 da planilha Plan1 como itálico.

Worksheets("Plan1").Activate

Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True

Este exemplo varre uma coluna de dados chamada "myRange". Se uma célula tiver o mesmo valor que a célula imediatamente acima, o exemplo exibirá o endereço da célula que contém os dados duplicados.

Set r = Range("myRange")

For n = 1 To r.Rows.Count

If r.Cells(n, 1) = r.Cells(n + 1, 1) Then

MsgBox "Dados duplicados em: " & r.Cells(n + 1, 1).Address

End If

Next n

Existem dezenas de métodos e propriedades do objeto Range. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. No curso de Programação VBA e Criação de Aplicativos como Excel, estudaremos mais o objeto Range.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »

Best Sellers de Excel do Julio Battisti

Todos com Vídeo Aulas, E-books ou Exemplos de Brinde!

Excel 2010 Básico - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Avançado - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 540 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Excel 2010 Avançado - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Avançado - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 952 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Macros e VBA no Excel 2010 - Passo a Passo

Livro: Macros e VBA no Excel 2010 - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

Livro: Macros e VBA no Excel 2010 - Passo a Passo

A Bíblia do Excel 2010 - Curso Completo

Livro: Macros e VBA no Excel 2010 - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

Livro: Macros e VBA no Excel 2010 - Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI