Notifications
Clear all

Filtrar Registros e Excluir os demais.

25 Posts
4 Usuários
0 Reactions
3,537 Visualizações
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá pessoal,

Estou precisando de uma super ajuda de vocês e não sei como resolver meu problema.

Tenho uma planilha que é ligado ao banco de dados do ERP que é atualizado diariamente, e tenho dois filtro que tenho que fazer diariamente.

1º Buscar os registros que tem |Cód. Tabela| Cód. Fornecedor | Loja | Cód. Produto | igual e manter o registro com a maior data de |Vigencia do Item| e excluir os demais.

2º Buscar os registros que tem | Cód. Fornecedor | Cód. Produto | igual e comparar se o campo |valor| é igual, se for, no Campo Divergência mostra Não, se for diferente, mostra Sim.

Caso alguem possa me ajudar, agradeço.

Anexei um arquivo reduzido apenas para melhor visualização.

 
Postado : 30/04/2014 11:29 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

luislapa,

Boa Tarde!

nessa pequena amostra de dados que você enviou, surgiram algumas dúvidas:
1 - Tem número de loja igual a 2 e número de loja igual a 02 (em programação, para o processador, esses são valore diferentes). Isso é assim mesmo? Deve ser então interpretado mesmo de modo diferente?
2 - O Cód. Produto é um campo composto por números e letras. Tem também espaços vazios e a palavra POLD. É isso mesmo? Se for isso, é bom lembrar que a comparação de texto na programação é feita examinando-se a igualdade dos termos. Assim, A é diferente de a para o processador. Basta, por exemplo, que dois textos desses Cód. Produtos tenham um único espaço a mais em um deles para que eles sejam diferentes. Isso está claro para você?
3 - No item 2 da sua demanda você diz : "2º Buscar os registros que tem | Cód. Fornecedor | Cód. Produto | igual e comparar se o campo |valor| é igual, se for, no Campo Divergência mostra Não, se for diferente, mostra Sim". O campo Cód. Fornecedor, embora esteja registrado na planilha como texto, é composto apenas por números. O Cód. Produto (também registrado como texto), todavia, é composto por números e letras. Quer dizer: Jamais serão iguais! Nesse caso a coluna Divergência vai ter sempre a palavra SIM. É isso mesmo?

 
Postado : 30/04/2014 11:52 am
(@themrl16)
Posts: 60
Trusted Member
 

Boa tarde Luis!

Eu estava desenvolvendo as macros necessárias para as duas buscas de acordo com o que eu entendi, e vi a resposta do Wagner apenas agora.
De qualquer forma, verifique a resposta do Wagner e o arquivo que está disponibilizado no anexo desta mensagem. Caso hajam necessidades de modificar / adaptar a macro por favor nos informe.

Eu numerei as células e criei uma cópia da sua planilha original, para que seja possível comparar os dados e verificar com mais facilidade quais linhas a minha macro está excluindo.

Abraços,

Murilo

 
Postado : 30/04/2014 12:21 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá Wagner, tudo bem?

Segue abaixo de sua pergunta:

1 - Tem número de loja igual a 2 e número de loja igual a 02 (em programação, para o processador, esses são valore diferentes). Isso é assim mesmo? Deve ser então interpretado mesmo de modo diferente?
>> Sim, está correto, 2 e 02 deve ser interpratado de modo diferente.

2 - O Cód. Produto é um campo composto por números e letras. Tem também espaços vazios e a palavra POLD. É isso mesmo? Se for isso, é bom lembrar que a comparação de texto na programação é feita examinando-se a igualdade dos termos. Assim, A é diferente de a para o processador. Basta, por exemplo, que dois textos desses Cód. Produtos tenham um único espaço a mais em um deles para que eles sejam diferentes. Isso está claro para você?
>> Sim, está claro e concordo que causa diferença caso tenha espaços.

3 - No item 2 da sua demanda você diz : "2º Buscar os registros que tem | Cód. Fornecedor | Cód. Produto | igual e comparar se o campo |valor| é igual, se for, no Campo Divergência mostra Não, se for diferente, mostra Sim". O campo Cód. Fornecedor, embora esteja registrado na planilha como texto, é composto apenas por números. O Cód. Produto (também registrado como texto), todavia, é composto por números e letras. Quer dizer: Jamais serão iguais! Nesse caso a coluna Divergência vai ter sempre a palavra SIM. É isso mesmo?
>> Neste caso acho que não me coloquei corretamente.
Segue como eu faço manualmente por etapa para está duvida:

1º Insiro filtro nos dados.
2º Filtro somente os fornecedores de código 000004.
3º Depois Filtro o código de Material 35121680 POLD.
4º Verifico na coluna M, se os Valores é igual, se for igual, coloco na coluna N Não, se for diferente, coloque Sim.

Aproveitando o filtro que já fiz no 2º passo, escolho outro material e faço esta checagem do valor, até o ultimo material que tenho cadastrado para este fornecedor.

Depois volto no 2º passo e escolho outro fornecedor, escolho o material e checo e assim sucessivamente.

Abs

 
Postado : 30/04/2014 12:46 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

luislapa,

Mais uma pequena dúvida:
Nos dados que você enviou, temos, por exemplo, na linha 12 e na linha 29, mesmo Cod. Tabela, mesmo Cód. Fornecedor, mesma Loja e mesmo Cód. Produto. Observei também que as datas de vigência, de ambas as linhas, é 01/09/2013. Nesse caso, qual o registro que deve ser mantido? Ou se forem iguais deve ser apagado?

 
Postado : 30/04/2014 1:02 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Wagner,

Neste caso deve ser mostrado como Divergencia Sim, pois temos uma falha do cadastro com dados duplicado.

 
Postado : 30/04/2014 1:23 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá Murilo,

Fiz uns teste no arquivo que você postou e ficou ótimo, porém a colocação do nosso amigo Wagner faz sentido e nem eu tinha previsto esta falha.

Mais de um registro com Cód. Tabela, Cód. Fornecedor, Loja, Cód. Produto, Maior Vigencia iguais.
Neste caso, temos uma falha no cadastro e devemos ter divergencia como Sim para todos os registro nesta situação.

Outra observação, é que, ao clicar no botão filtrar, intende-se que foi feito todos os filtros de verificação, então, gostaria que na columa N mostre como divergencia Não para os campos vázio.

Kra, realmente eu nunca ia conseguir fazer isto, coisa de doido, tentei até mudar prevendo a colocação do nosso amigo Wagner mais não consegui.

Caso possa ajudar, fico grato.

 
Postado : 30/04/2014 1:35 pm
(@themrl16)
Posts: 60
Trusted Member
 

Luis, eu adaptei a macro conforme solicitado (se a data das duas células também forem iguais, ele não exclui as mesmas e preenche a divergência como "Sim"), e os campos que não atingem as condições anteriores (ficavam como vazio), agora são preenchidos como "Não".

Possivelmente, existem outras formas de realizar essas verificações, mas para situações de duplicatas semelhantes a essa geralmente eu utilizo Loops para comparar valores entre as células.

Abraços,

Murilo.

 
Postado : 30/04/2014 1:56 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

luislapa,

Se a solução do amigo Murilo já lhe atendeu... informe.Caso contrário avise para que possamos continuar tentando.

 
Postado : 30/04/2014 2:51 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

>> Murilo, muito obrigado, ficou ótimo, você não imagina como me ajudou.

>> Wagner, fico muito grato por sua colaboração, suas análise foi excelente.

Abraços

 
Postado : 30/04/2014 9:04 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá Wagner/Murilo.

Amigos, me desculpe, mas fiz um teste com um numero maior de registro ( 2500 ) e o mesmo esta travando, e só destrava se fora a fechada do excel.

Deixei durante uns 10min e não destravou.

Fiz outros teste também replicando as mesma informação para as linhas abaixo apenas para aumentar o numero de registro e observei que, como apontado pelo nosso amigo Wagner, cód. Fornecedor, Código de Produto, data de vigência e valor idêntico também deve ser considerado como Divergência Sim, pois demonstra uma duplicidade no cadastro.

Caso possam me ajudar agradeço.

abs

 
Postado : 01/05/2014 11:29 am
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá Amigos!

Passei minha sexta inteira tentando fazer estes filtros, mas não consigo. :oops:

Caso possam me ajudar.

Obrigado.

 
Postado : 02/05/2014 8:19 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá amigos,

Hoje busquei alguns tutoriais que se aproximasse do meu objetivo para adaptar, mas sem sucesso.

Contínuo nessa busca.

Abs

 
Postado : 03/05/2014 6:49 pm
(@luislapa)
Posts: 49
Trusted Member
Topic starter
 

Olá pessoal!

Já tentei de todas as formas alterar o código enviado pelo nosso amigo, mas não consigo. com um numero maior de dados realmente trava tudo.

Caso alguém posso me ajudar, agradeço.

Abs

 
Postado : 05/05/2014 5:51 am
(@themrl16)
Posts: 60
Trusted Member
 

Bom dia Luis!

Eu realizei um teste preenchendo mais de 5 mil linhas (preenchi o restante com dados aleatórios através de fórmulas), e a macro não demorou mais que 10 segundos para ser executada.
Você poderia disponibilizar um novo anexo do seu arquivo, que está travando? Quero analisar os dados que constam nelas e verificar se a macro possui algum tipo de erro ao validar uma das linhas. Caso o problema esteja relacionado a hardware do computador que você utiliza, terei que pensar em uma nova lógica para executá-la.

Murilo.

 
Postado : 05/05/2014 6:56 am
Página 1 / 2