Como usar offset com o objeto range no vba?

Usando OFFSET com o objeto de intervalo, você pode navegar de célula em célula na planilha e também selecionar uma célula ou intervalo. Ele também fornece acesso às propriedades e métodos que você possui com o objeto de intervalo a ser usado, mas você deve especificar os argumentos no OFFSET para usá-lo.

Usando OFFSET com o objeto Range

  1. Especifique o intervalo a partir do qual deseja começar.
  2. Insira um ponto final (.) para obter uma lista de propriedades e métodos.
  3. Selecione a propriedade offset e especifique os argumentos (linha e coluna).
  4. Ao final, selecione a propriedade a ser utilizada com o deslocamento.
deslocamento com objeto de intervalo

Selecione um intervalo usando OFFSET

Você também pode selecionar um intervalo que seja o número de linhas e colunas de um intervalo. Pegue a linha de código abaixo, que seleciona um intervalo de duas células que consiste em cinco linhas abaixo e 3 colunas à direita.

 Range("A1:A2").Offset(3, 2).Select
selecione o intervalo usando offset

Além disso, você também pode escrever código para selecionar o intervalo usando um tamanho personalizado. Considere um exemplo do código a seguir.

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
selecione o intervalo usando tamanho personalizado

Para entender esse código, você precisa dividi-lo em três partes.

dividido em três partes

Em primeiro lugar, neste objeto de intervalo você tem a opção de especificar a primeira e a última célula do intervalo.

opção para especificar a primeira célula

Agora vamos voltar ao exemplo:

  • Na Parte UM, você usou o objeto range para se referir à célula uma linha abaixo e uma coluna à direita da célula A1.
  • Na Parte DOIS, você usou o objeto de intervalo para se referir à célula cinco linhas abaixo e duas colunas à direita da célula A1.
  • Na parte THRID, você usou as células da primeira e da segunda parte para referenciar e selecionar um intervalo.

Usando OFFSET com ActiveCell

Você também pode usar a célula ativa em vez de usar um intervalo predefinido. Isso significa que você obterá um deslocamento dinâmico para selecionar uma célula navegando a partir da célula ativa.

 ActiveCell.Offset(5, 2).Select

A linha de código acima selecionará a célula que está cinco linhas abaixo e duas colunas à direita da célula ativa.

Usando OFFSET com ActiveCell para selecionar um intervalo

Use o código a seguir para selecionar um intervalo na célula ativa.

 Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select

Para entender como esse código funciona, não deixe de conferir esta explicação.

Copie um intervalo usando OFFSET

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy

Usando a propriedade Cells com OFFSET

Você também pode usar a propriedade OFFSET com a propriedade CELLS. Considere o seguinte código.

 Cells(1, 3).Offset(2, 3).Select
propriedade de célula com deslocamento

O código acima primeiro faz referência à célula A1 (conforme você especificou) com a primeira linha e a primeira coluna usando a propriedade de células e, em seguida, usa a propriedade offset para selecionar a célula que está duas linhas abaixo e tem três colunas.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *