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:
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).
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:
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).
Traduzindo para coordenadas, a resposta que queremos está a 0 linha e +1 coluna em coordenadas em relação à célula A3.
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!
Para acessar outras publicações de VBA, clique aqui!
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.