Notifications
Clear all

Procurando um range dentro de outro

8 Posts
2 Usuários
0 Reactions
999 Visualizações
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Amigos da fórum, estou apanhando para fazer uma macro em excel e gostaria de pedir um HELP a vocês, não precisa ser por macro mas como é uma tarefa repetitiva acredito que automatizando seria melhor, mas por macro ou não também serve desde que obtenha o resultado. Tenho o seguinte problema:

Planilha 1: tenho uma range em linha com 5 colunas A1:A5 e preciso verificar se esta range existe e quantas vezes forem na Planilha 2 entre o intervalo A1:E5 e o excel me retorne na Planilha 1 em quais linhas o range A1:A5 aparece na Planilha 2, sei que é uma comparação de um range de uma linha com as linhas de uma matriz, mas não estou conseguindo montar uma macro que me dê estes resultados. Darei um exemplo com valores para ficar mais claro:

Planilha 1
A B C D E
1 1 4 5 9 10

Planilha 2

A B C D E
1 2 3 5 6 8
2 4 5 6 8 10
3 1 4 5 9 10
4 8 9 7 4 2
5 1 4 5 9 10

Como vemos no exemplo acima a range A1:A5 da Planilha 1 aparece 2 vezes na range A1:E5 da planilha 2, preciso que o excel me retorne os numeros das linhas onde esta relação é igual, ou seja linha 3 e linha 5 pode ser em uma única célula em forma de concatenação de strings, por exemplo retornando na planilha 1 na celula Z1 a expressão "linha(s) 3 e 5"

Planilha 1
A B C D E ------------------- Z
1 1 4 5 9 10 linha(s) 3 e 5

Será que é possivel fazer isso? Agradeço qualquer ajuda a todos os amantes do excel.

 
Postado : 07/12/2015 4:40 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

SidneyM,

Bom dia!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/12/2015 8:57 am
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Muito obrigado Wagner ficou perfeito, tem elementos na macro que eu não conhecia, deixa eu só tirar uma dúvida usei um número menor de colunas no meu exemplo para passar melhor a minha idéia, meu problema real é uma linha e quinze colunas na Plan1 e 15 colunas na plan2 mas com um número indefinido de linhas, para ajustar a macro eu só preciso ajustar as seguintes linhas de modo a abranger todas as colunas?

NúmeroProcurado = Range("A1").Value & Range("B1").Value & Range("C1").Value & Range("D1").Value & Range("E1").Value

e a linha

NúmeroAchado = Sheets("Plan2").Range("A" & i).Value & Sheets("Plan2").Range("B" & i).Value & Sheets("Plan2").Range("C" & i).Value & Sheets("Plan2").Range("D" & i).Value & Sheets("Plan2").Range("E" & i).Value

levando ambas até a coluna O que é a décima quinta ou preciso fazer mais alguma alteração? Este símbolo parecendo uma letra E e um t juntos o que significa e como o encontro no teclado?

Obrigado mais uma vez pela atenção e paciência!

 
Postado : 08/12/2015 10:55 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

SidneyM,

Veja: se a quantidade de colunas entre o número procurado (da Plan1) e o número a procurar (na Plan2) forem diferentes, somente acrescentar as colunas da Plan2 até a coluna O não vai funcionar! É por esta razão que pedimos que as pessoas coloquem aqui no fórum um arquivo exemplo, compactado, com dados fictícios porém com o layout real do arquivo original para que possamos ajudar de forma eficiente e rápida. Em programação, os mínimos detalhes são importantes.

Quanto ao "&" comentado, trata-se de "UM E COMERCIAL". Você o encontra na parte superior da tecla com o número 7, se seu teclado tiver o padrão Português ABNT2.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/12/2015 12:05 pm
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Obrigado Wagner, vou tentar analisar a sua macro para melhor compreende-la na verdade a quantidade de colunas da Plan 1 e da Plan 2 são iguais ou seja 15, por este motivo acredito que se modificar a sua macro naquelas duas linhas que lhe falei até a coluna O talvez funcione vou tentar, se não conseguir pedirei novamente um help e lhe mandarei um arquivo zip, pois a minha plan 1 tem uma linha e 15 colunas mas a planilha 2 tem 1000 linhas e quinze colunas.

 
Postado : 08/12/2015 3:46 pm
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Prezado Wagner, mais uma vez agradeço o auxílio. Fiz as devidas correções para adequar o seu projeto a minha necessidade, veja como ficou! Como minha necessidade era para linhas com quinze colunas ajustei as linhas da macro para comportar o novo tamanho de range, e modifiquei o seu método para a colocação das vírgulas separadoras e da letra "e" além de colocar uma entrada manual a fim de poder escolher qual linha seria analisada no caso da Plan1 ter várias linhas para serem pesquisadas! Veja no anexo como ficou no arquivo anexo, quem sabe este modelo não auxilia outras pessoas que querem pesquisar linhas com uma quantidade x de colunas em uma planilha onde temos n linhas de x colunas.
Mais uma vez muito obrigado, me ajudou bastante!

 
Postado : 10/12/2015 8:44 pm
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Peço desculpas mas o arquivo que eu julgava finalizado ainda apresenta um pequeno erro quanto a colocação da string " e " para designar a última linha localizada, tentarei achar uma solução.

 
Postado : 10/12/2015 8:57 pm
(@sidneym)
Posts: 6
Active Member
Topic starter
 

Pronto Wagner consegui resolver o problema com a colocação das virgulas e da letra "e" antes da última linha que satisfaz a condição de igualdade, ficou até mais simples que o arquivo anterior, como havia mencionado ajustei a macro para abranger a pesquisa em 15 colunas e modifiquei o modo de colocação de virgulas e da letra "e" entre a penultima e a última resposta encontrada que satisfaçam a condição de igualdade. Mais uma vez obrigado e pode ajudar algum outro membro com problema semelhante. Veja como ficou no arquivo anexo:

 
Postado : 10/12/2015 10:13 pm