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.
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.
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.
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).
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.
Sub offsett()
ActiveCell.Offset(1, 0).Select
End Sub
Ao aplicarmos essa fórmula, nossa seleção do excel será deslocado em uma linha.
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.