Blog

Postado em em 16 de dezembro de 2022

Offset no VBA – O que é e Como Usar Esse Recurso?

Você já conhece o comando Offset no VBA que vai te permitir deslocar células usando o VBA para tornar suas atividades mais fáceis?

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala, Impressionadores! Na aula de hoje vamos mostrar o que é offset no VBA!

Vou te mostrar com um exemplo prático como fazer deslocamento no VBA e como você vai usar um código dentro do VBA para conseguir fazer essa “ação”.

Esse é um recurso que vai nos permitir pegar informações de uma célula ou de um conjunto de células! E aí, vamos lá ver como fazer deslocamento de células no VBA?

O que é Offset no VBA?

Resumidamente o comando Offset VBA é chamado quando precisamos fazer o deslocamento de células no VBA.

Por definição ele vai retornar um objeto Intervalo que representa um intervalo (final) que é deslocado do intervalo especificado (original).

O intervalo original vai ser deslocado de linhas e colunas, por padrão, de números positivos, negativos ou zero. Veja:

0 6

Portanto, daremos coordenadas para o Excel deslocar o intervalo original e representar o intervalo final.

Importante frisar que os números positivos representam deslocamentos para baixo (no caso de linhas) e para a direita (no caso de colunas).

VBA Offset
VBA Offset

Exemplo 1: se eu quero ir da célula C3 para a célula D4, vou acrescentar 1 unidade na linha, e acrescentar 1 unidade na coluna. Portanto, tenho que “offsetar” (deslocar) a minha célula de 1 unidade em linhas, e 1 unidade em colunas.

Exemplo 2: se eu quero ir da célula C3 para a célula B2, vou “tirar” 1 unidade na linha, e “tirar” 1 unidade na coluna. Portanto, tenho que “offsetar” (deslocar) a minha célula de subtraindo 1 unidade em linhas, e subtraindo também 1 unidade em colunas.

Como deslocar células no VBA?

Preparamos um exemplo de aula para ajudar vocês a entender como fazer deslocamento no VBA.

No arquivo disponibilizado da aula de hoje, temos uma tabela com os nomes dos professores, e os cursos que eles ministram aqui na Hashtag. Observe:

Como usar Offset no VBA
Como usar Offset no VBA

Com o comando Offset nós podemos retornar o curso que um dos professores ministra, sabendo qual professor é o responsável pelo curso.

O código abaixo vai nos permitir retornar exatamente isso, para o caso do Professor Alon.

Sub offsetNoVBA()

Debug.Print Range("A3").Offset(0, 1).Value

End Sub

Rodando o código, teremos “printado” pela janela imediata o curso ministrado pelo professor Alon: Power BI, que no caso é o que está na mesma linha (0) e na coluna à direita (1).

3 4

Traduzindo para coordenadas, a resposta que queremos está a 0 linha e +1 coluna em coordenadas em relação à célula A3.

Conclusão – Offset no VBA

Nessa aula eu te mostrei uma propriedade bem interessante do VBA que é o Offset. Ela pode te ajudar em várias situações.

Principalmente quando você precisa pegar uma informação em uma coluna ao lado, o que é muito comum dentro do Excel na hora de retornar uma informação.

Então ao invés de simplesmente fazer uma nova busca ou ir até a linha onde está aquela informação, basta utilizar o Offset para mover o seu intervalo/seleção para a informação ao lado!

Esse tipo de propriedade é interessante, pois você tem mais de uma forma de fazer uma mesma coisa dentro do VBA, pode ser que com o Offset não funcione ou não fique viável o que você quer, então pode fazer de outra maneira.

Mas é importante que saiba mais de uma maneira de resolver um mesmo problema, pois isso vai te ajudar bastante!

Até o próximo post! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador