Página 1 de 1

FIXAR REFERÊNCIA

Enviado: 08 Abr 2019 às 12:06
por KevinMoser
Bom dia queridos companheiros!

Preciso de uma luz... Estou criando um formulário que capta todas as informações necessárias pelo nome do aluno em uma tabela de dados, mas tenho um pequeno problema com as referências.

FUNCIONAMENTO: A pessoa informa o nome do aluno(a), a macro obtém este texto, faz a varredura na tabela de dados, e assim que encontra o valor digitado, via comando Offset desloca a seleção nas colunas até o dado determinado.

EXEMPLO PELAS IMAGENS: A pessoa digita o nome "EDUARDO GADOTTI" (é o primeiro nome na imagem da tabela), clica em PESQUISAR, dessa forma no campo texto CPF será incluído o dado conforme o código destacado na imagem, porém como podem observar final do código, ele desloca 3 células à sua direita para pegar o dado CPF.

O meu problema é o seguinte, futuramente eu terei que adicionar colunas a essa tabela de dados, e isso mudará as posições, e consequentemente os deslocamentos. No exemplo se eu adicionasse uma coluna antes do CPF, esse valor 3 deveria virar 4 para continuar pegando o cpf do aluno.

Como posso fazer essa referência para que quando inserir novas colunas esse número seja atualizado automaticamente?

Imagem
Imagem

Re: FIXAR REFERÊNCIA

Enviado: 08 Abr 2019 às 14:04
por osvaldomp
KevinMoser escreveu: Como posso fazer essa referência para que quando inserir novas colunas esse número seja atualizado automaticamente?
x = número da coluna que contem o texto CPF na linha 6 (pode ser encontrado via Find)
y = número da coluna que contém os nomes dos alunos (coluna 4)

Cells(lin,4).Offset(,x-y)

Se você tiver dificuldade então disponibilize uma amostra do seu arquivo Excel (imagens, prints, fotos, ... não servem).

Re: FIXAR REFERÊNCIA

Enviado: 08 Abr 2019 às 14:35
por KevinMoser
Obrigado pela resposta Osvaldo!

Desconheço o comando FIND. Poderia incluir na amostra que estou colocando em anexo?

FIXAR REFERÊNCIA

Enviado: 08 Abr 2019 às 16:44
por KevinMoser
Pesquisando sobre o comando FIND descobri como aplicar no meu caso, obrigado Osvaldo! A lógica que você passou e o comando me ajudaram a resolver o caso!

Dessa forma darei como resolvido :)