ExcelForever

COMO UTILIZAR A PROPRIEDADE OFFSET NO VBA

Veja neste artigo como utilizar a propriedade Offset no VBA para mudar a posição das células conforme posição do caractere no código.

A propriedade offset geralmente é utilizada juntamente com o objeto range para mudar a posição de células após a seleção.

Este tipo de código é utilizado com bastante frequência, e serve para movimentações e ações com base na referência das células.

Conforme imagem acima vou mostrar através de códigos do VBA como movimentar a célula do ponto inicial (amarelo) até o valor 2.295,00.

Deslocamento da propriedade Offset

É importante entender como deslocar células no código utilizando a propriedade Offset, o VBA movimenta referências da seguinte forma:

Conhecendo esta lógica basta utilizar o objeto range para posicionar a célula inicial, e depois a propriedade offset para trocar a posição da célula.

Aplicar código para mudar a posição das células

O primeiro passo é verificar a referência inicial da célula, e neste caso é a referência D8 conforme imagem acima.

Pressione as teclas ALT + F11 para migrar para o VBA para que o código seja escrito no módulo.

Baixe a planilha para praticar: http://bit.ly/Planilhas_Suporte_VBA-Macros

Se você baixou a nossa planilha vá direto ao módulo 11, pois já temos algumas dicas e códigos prontos disponíveis.

Note que já existe uma rotina chamada objeto_range(), alguns comentários e um código escrito.

Agora vou escrever o código três vezes para que a célula saia do ponto inicial até a referência final (célula O16).

O primeiro código é para sair da célula D8 para a célula D16, e para esta movimentação é preciso reconhecer a posição inicial D8.

Conforme o código abaixo utilize o objeto range para marcar a posição inicial (referência D8) e propriedade Offset para mostrar a descida de 8 linhas, e nenhum avanço de colunas.

Sub objeto_range()

Range("D8").Offset(8, 0).Select

End Sub

O próximo passo é migrar da célula D16 para a I8, e para este movimento iremos utilizar praticamente o mesmo código, mudando somente as referências.

Sub objeto_range() Range(“D16”).Offset(-8, 5).Select End Sub

Lembrando sempre que o código reconhece primeiro as linhas e depois as colunas, aponte -8 para subir 8 linhas com 5 para avançar 5 colunas.

O próximo movimento será migrar da célula I8 para O16, e neste caso basta basta descer 8 linhas e avançar 6 colunas perfazendo o código (8, 6).

Sub objeto_range() Range(“I8”).Offset(8, 6).Select End Sub

Esta é uma aplicação muito simples da propriedade Offset, em breve traremos mais conteúdo utilizando o tema em outras situações.


Ainda tem dúvidas de como utilizar a propriedade offset no VBA? Veja como fazer pelo nosso vídeo do Canal ExcelForever do Youtube:


Veja também:


Conheça os Cursos Online com as melhores classificações da Udemy. Saiba mais!

Espero que goste do artigo e seja muito útil, grande abraço e sucesso!

Everton Pires
Empreendedor Digital e Youtuber

Sair da versão mobile