Range, Cells e Offset

Vamos aprender a utilizar Range, Cells e Offset no Excel VBA.

Em primeiro lugar, é importante que você saiba que sem elas não se consegue fazer muita coisa através do Excel.

PUBLICIDADE

Em resumo, Range, Cells estão presentes em grande maioria dos códigos de programação no Excel VBA. No entanto, fique tranquilo que hoje vamos conhecer todas as suas definições.

Em segundo lugar, nos próximos três tópicos vamos detalhar o uso de cada uma dessas propriedas de seleção detalhado.

Range Excel VBA

Portanto, vamos dar início pela opção de Range no Excel VBA. Em resumo, uma Range significa uma seleção de células ou intervalo de células.

Porém, para o uso de uma Range, precisamos de uma Cells. Como isso?

Nossa Range é uma expressão que por escrita fica mais ou menos assim:

Worksheets("Plan1").Range("A1:B1").Select

Worksheets("Plan1").Range("A1:B1").Value

Worksheets("Plan1").Range("A1:B1").Formula

Em resumo, realizamos três exemplos do uso da Range no Excel.

PUBLICIDADE
Range VBA
Range

Primeiro exemplo: Realizamos a seleção das células A1:B1.

Segundo exemplo: Em nossa seleção aplicamos a função de Value.

Terceiro exemplo: Aplicamos uma formula na seleção de células A1:B1. No entanto, nossa fórmula não foi definida.

Range, Cells e Offset no VBA

Como exemplo, vamos demonstrar em primeiro lugar uma Range aplicada com Cells.

Cells em resumo significa: Células, ou intervalo de Células.

With Worksheets("Planilha1")
    .Range(.Cells(1, 1), .Cells(5, 3)).Select
End With

Acima, aplicamos uma seleção no intervalo de A1:C5.

Cells em VBA

Em resumo, nossa Cells(1,1) se resume em A1, e nossa Cells(5,3) se resume em C5.

Em outras palavras, Cells é escrita por: Cells(linha,coluna).

PUBLICIDADE

Offset VBA

Por fim, a propriedade offset no excel VBA, permite deslocar células.

Para isso, vamos realizar a junção de uma Range com Cells e aplicar o método Offset para realizar o deslocamento.

With Worksheets("Planilha1")
    .Range(.Cells(1, 1), .Cells(5, 3)).Select
End With

Como mostrado anteriormente, realizamos a seleção do Intervalo(“A1:C5”).

Agora vamos aplicar o offset para deslocar as células.

Para realizar a movimentação de Offset no VBA, temos quatro maneiras:

ActiveCell .Offset(1,0).Select: Movimentar as células para cima.
ActiveCell .Offset(-1,0).Select: Movimentar as células para baixo.
ActiveCell.Offset(0,1).Select: Movimentar as células para direita.
ActiveCell.Offset(0,-1).Select: Movimentar as células para esquerda.

Na prática como funciona?

Vamos inserir um desses código em nossa planilha e rodar a macro.

PUBLICIDADE
Sub offsett()

ActiveCell.Offset(1, 0).Select

End Sub

Ao aplicarmos essa fórmula, nossa seleção do excel será deslocado em uma linha.

Range Cells e Offset
Aplicando Offset

Em resumo, antes de executarmos a macro, nossa seleção estava em A2.

Após processar a macro e aplicar offset, nossa seleção foi deslocada em uma célula abaixo.

Compartilhe
Rafael Schreiner

Rafael Schreiner

Artigos: 348