Função VBA OFFSET - Como usar a propriedade de deslocamento do Excel VBA (exemplo)

Função Excel VBA OFFSET

A função VBA Offset é usada para mover ou referir-se a uma referência pulando um determinado número de linhas e colunas, os argumentos para esta função no VBA são os mesmos que os argumentos na planilha.

Por exemplo, suponha que você tenha um conjunto de dados como o abaixo.

Agora, da célula A1, você deseja mover 4 células para baixo e selecionar a quinta célula, ou seja, a célula A5.

Da mesma forma, se você quiser descer da célula A1, 2 linhas, ir 2 colunas à direita e selecionar essa célula, ou seja, célula C2.

Nestes casos, a função OFFSET é muito útil. Especialmente no VBA OFFSET, a função é simplesmente fenomenal.

OFFSET é usado com Range Object no Excel VBA

No VBA, não podemos inserir diretamente a palavra OFFSET. Precisamos usar o objeto VBA RANGE primeiro e, a partir desse objeto range, podemos usar a propriedade OFFSET.

No Excel, o intervalo nada mais é do que uma célula ou intervalo da célula. Uma vez que OFFSET se refere a células, precisamos primeiro usar o objeto RANGE, e então podemos usar o método OFFSET.

Sintaxe de OFFSET no VBA Excel

  • Deslocamento de linha: quantas linhas você deseja deslocar da célula selecionada. Aqui, a célula selecionada é A1, ou seja, Intervalo (“A1”).
  • Deslocamento da coluna: quantas colunas você deseja deslocar da célula selecionada. Aqui, a célula selecionada é A, 1, ou seja, Intervalo (“A1”).

Exemplos

Exemplo 1

Considere os dados abaixo, por exemplo, demonstração.

Agora, quero selecionar a célula A6 da célula A1. Inicie a macro e a célula de referência usando o objeto Range.

Código:

Sub Offset_Example1 () Intervalo ("A1"). Offset (End Sub

Agora quero selecionar a célula A6, ou seja, quero baixar 5 células. Portanto, insira 5 como o parâmetro para Row Offset.

Código:

Sub Offset_Example1 () Intervalo ("A1"). Offset (5 End Sub

Como estou selecionando na mesma coluna, deixo de fora a parte da coluna. Feche o colchete e coloque um ponto (.) E digite o método “Selecionar”.

Código:

Sub Offset_Example1 () Intervalo ("A1"). Offset (5) .Selecione End Sub

Agora execute este código usando a tecla F5, ou você pode executar manualmente para selecionar a célula A6 conforme mostrado abaixo.

Resultado:

Exemplo # 2

Agora pegue os mesmos dados, mas aqui veremos como usar o argumento de deslocamento de coluna também. Agora, quero selecionar a célula C5.

Uma vez que desejo selecionar a célula C5 em primeiro lugar, desejo mover 4 células para baixo e pegar as 2 colunas certas para chegar à célula C5. O código abaixo faria o trabalho para mim.

Código:

Sub Offset_Example2 () Intervalo ("A1"). Offset (4, 2) .Selecione End Sub

Eu executo este código manualmente ou usando a tecla F5. Em seguida, ele irá selecionar a célula C5, conforme mostrado na imagem abaixo.

Resultado:

Exemplo # 3

Vimos como compensar linhas e colunas. Também podemos selecionar as células acima das células especificadas. Por exemplo, se você está na célula A10 e deseja selecionar a célula A1, como você seleciona?

No caso de mover para baixo na célula, podemos inserir um número positivo, portanto, aqui, no caso de mover para cima, precisamos inserir números negativos.

Da célula A9, precisamos mover 8 linhas para cima, ou seja, -8.

Código:

Sub Offset_Example1 () Intervalo ("A9"). Offset (-8) .Selecionar End Sub

Se você executar este código usando a tecla F5 ou você puder executá-lo manualmente, ele selecionará a célula A1 da célula A9.

Resultado:

Exemplo # 4

Suponha que você esteja na célula C8. Desta célula, você deseja selecionar a célula A10.

A partir da célula ativa, l, ou seja, célula C8, precisamos primeiro mover 2 linhas para baixo e precisamos mover 2 colunas para a esquerda para selecionar a célula A10.

No caso de mover para a esquerda para selecionar a coluna, precisamos especificar que o número é negativo. Então, aqui precisamos voltar em -2 colunas.

Código:

Sub Offset_Example2 () Range ("C8"). Offset (2, -2) .Selecionar End Sub

Agora execute este código usando a tecla F5 ou execute manualmente, ele selecionará a célula A10 conforme mostrado abaixo:

Resultado:

Coisas para lembrar

  • No caso de subir de linhas, precisamos especificar o número em negativos.
  • No caso de mover para a esquerda para selecionar a coluna, o número deve ser negativo.
  • A célula A1 é a primeira linha e a primeira coluna.
  • Célula ativa significa células atualmente selecionadas.
  • Se você deseja selecionar a célula usando OFFSET, você precisa mencionar “.Selecionar.”
  • Se você deseja copiar a célula usando OFFSET, você precisa mencionar “.Copy.”

Artigos interessantes...