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
- Especifique o intervalo a partir do qual deseja começar.
- Insira um ponto final (.) para obter uma lista de propriedades e métodos.
- Selecione a propriedade offset e especifique os argumentos (linha e coluna).
- Ao final, selecione a propriedade a ser utilizada com o deslocamento.
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
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
Para entender esse código, você precisa dividi-lo 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.
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
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.