[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 : 19
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 19 - Worksheet e Range - Propriedades e Métodos - Parte 3

Vamos ver mais alguns exemplos de trabalho com células e faixas de células.

Loop através de um intervalo de células:

Ao usar o VBA, você freqüentemente precisa executar o mesmo bloco de instruções em cada célula de um intervalo de células. Para fazer isso, você combina uma instrução de loop com um ou mais métodos para identificar cada célula, uma de cada vez, e executa a operação.

Uma maneira de fazer loop através de um intervalo é usar o loop For...Next (descrito no Módulo 5) com a propriedade Cells. Usando a propriedade Cells, você pode substituir o contador do loop (ou outras variáveis ou expressões) pelos números de índice das células. No exemplo seguinte, a variável counter é substituída pelo índice de linha. O seguinte exemplo faz um loop através de um intervalo C1:C20, definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0,01.

For counter = 1 To 20

Set curCell = Worksheets("Sheet1").Cells(counter, 3)

If Abs(curCell.Value) < 0.01 Then curCell.Value = 0

Next counter

Uma outra maneira mais fácil de se fazer um loop através de um intervalo é usar um loop For Each...Next (descrito no Módulo 5) com a coleção de células retornada pelo método Range. O VBA define automaticamente uma variável de objeto para a próxima célula cada vez que o loop é executado. O seguinte exemplo faz um loop através do intervalo A1:D10, definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0,01.

For Each c In Worksheets("Sheet1").Range("A1:D10").Cells

If Abs(c.Value) < 0.01 Then c.Value = 0

Next

Se você não souber os limites do intervalo pelo qual deseja fazer o loop, você pode usar a propriedade CurrentRegion para retornar o intervalo que envolve a célula ativa. Por exemplo, o exemplo seguinte, quando executado de uma planilha, faz um loop através do intervalo que envolve a célula ativa, definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 0,01.

For Each c In ActiveCell.CurrentRegion.Cells

If Abs(c.Value) < 0.01 Then c.Value = 0

Next

Selecionar e ativar células:

Quando você trabalha com o Microsoft Excel, você geralmente seleciona uma célula ou células e, em seguida, efetua uma ação, como formatar as células ou inserir valores nelas. No VBA, normalmente não é necessário selecionar células antes de modificá-las.

Por exemplo, se você desejar inserir uma fórmula na célula D6 usando o Visual Basic, você não terá que selecionar o intervalo D6. Você precisa apenas retornar o objeto Range e, em seguida, definir a propriedade Formula com a fórmula desejada, conforme mostrado no exemplo seguinte.

Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"

Usar o método Select e a propriedade Selection:

O método Select ativa planilhas e objetos em planilhas; a propriedade Selection retorna um objeto representando a seleção atual na planilha ativa da pasta de trabalho ativa. Antes de você poder usar com êxito a propriedade Selection, você precisa ativar uma pasta de trabalho, ativar ou selecionar uma planilha e, em seguida, selecionar um intervalo (ou outro objeto) usando o método Select.

O gravador de macro costuma criar macros que usam o método Select e a propriedade Selection. O exemplo seguinte foi criado pelo uso do gravador de macro, e ilustra como Select e Selection funcionam juntas.

Sheets("Sheet1").Select

Range("A1").Select

ActiveCell.FormulaR1C1 = "Name"

Range("B1").Select

ActiveCell.FormulaR1C1 = "Address"

Range("A1:B1").Select

Selection.Font.Bold = True

O exemplo seguinte realiza a mesma tarefa sem ativar nem selecionar a planilha ou as células.

Worksheets("Sheet1").Range("A1") = "Name"

Worksheets("Sheet1").Range("B1") = "Address"

Worksheets("Sheet1").Range("A1:B1").Font.Bold = True

Selecionar células na planilha ativa:

Se você usa o método Select para selecionar células, esteja ciente de que Select só funciona na planilha ativa. Se você executar o seu procedimento Sub a partir do módulo, o método Select falhará a menos que o seu procedimento ative a planilha antes de usar o método Select em um intervalo de células. Por exemplo, o exemplo seguinte copia uma linha de Sheet1 para Sheet2 na pasta de trabalho ativa.

Worksheets("Sheet1").Rows(1).Copy

Worksheets("Sheet2").Select

Worksheets("Sheet2").Rows(1).Select

Worksheets("Sheet2").Paste

Ativar uma célula dentro de uma seleção:

Você pode usar o método Activate para ativar uma célula dentro de uma seleção. Só pode haver uma célula ativa, mesmo quando um intervalo de células é selecionado. O exemplo seguinte seleciona um intervalo e, em seguida, ativa uma célula dentro do intervalo sem alterar a seleção.

Worksheets("Sheet1").Activate

Range("A1:D4").Select

Range("B2").Activate

Trabalhar com a célula ativa:

A propriedade ActiveCell retorna um objeto Range representando a célula que está ativa. Você pode aplicar qualquer das propriedades ou métodos de um objeto Range à célula ativa, como no exemplo seguinte.

Worksheets("Sheet1").Activate

ActiveCell.Value = 35

Observação: Você só pode trabalhar com a célula ativa quando a planilha na qual ela se encontra é a planilha ativa.

Mover a célula ativa:

Você pode usar o método Activate para designar qual célula é a célula ativa. Por exemplo, o exemplo seguinte torna B5 a célula ativa e, em seguida, a formata com negrito.

Worksheets("Sheet1").Activate

Worksheets("Sheet1").Range("B5").Activate

ActiveCell.Font.Bold = True

Observação: Para selecionar um intervalo de células, use o método Select. Para tornar uma única célula a célula ativa, use o método Activate.

Você pode usar a propriedade Offset para mover a célula ativa. O exemplo seguinte insere texto na célula ativa do intervalo selecionado e, em seguida, move a célula ativa uma célula para a direita sem alterar a seleção.

Worksheets("Sheet1").Activate

Range("A1:D10").Select

ActiveCell.Value = "Monthly Totals"

ActiveCell.Offset(0, 1).Activate

Selecionar as células ao redor da célula ativa:

A propriedade CurrentRegion retorna um intervalo de células delimitado por linhas e colunas em branco. No exemplo seguinte, a seleção é expandida para incluir as células adjacentes à célula ativa, que contenham dados. Em seguida, esse intervalo é formatado com o formato Currency.

Worksheets("Sheet1").Activate

ActiveCell.CurrentRegion.Select

Selection.Style = "Currency"

« 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