Notifications
Clear all

Fórmula de Busca Com Condição (PROCV deve resolver) HELP

29 Posts
3 Usuários
0 Reactions
5,281 Visualizações
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Olá bom dia!
Tenho uma planilha de controle de amostras na onde trabalho. Tanto material de limpeza quanto escolar...
O que eu preciso:

Os produtos das Abas "ESCOLAR" e "LIMPEZA" que estiverem com a condição de Validade em "VENCIMENTO EM 3 MESES OU MENOS" o excel jogasse a linha inteira em outra aba "Produtos Vencidos"... pq vou lançar isso do zero e o que estiver vencendo vamos vender mais barato p/ os funcionários...
Anexei a planilha p/ vcs expert em excel darem uma olhada e se possível me ajudarem... :|
Obrigado desde já!!

 
Postado : 11/09/2014 8:45 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Marcos,

Infelizmente, ou felizmente. Esse tipo de solicitação, eu só vejo possibilidade de fazer por macro.
Uma vez que procv vai trazer SOMENTE a primeira ocorrência, e como estamos falando de 02 abas diferentes, isso é bem complicado. existe, a possibilidade de fazer por formulas ? sim. Mas acho que vai ficar mais dificil do que por macro.
Eu estou no trabalho, e não consigo montar a macro agora, acredito que o alexandrevba possa te ajudar, por se tratar de algo bem simples. Se ele não responder até o fim do dia, eu chegando em casa (por volta das 23h) monto para ti, e encaminho.

Pode ser?

 
Postado : 11/09/2014 10:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

use uma UDF

Function PROCVVARIOS(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range, Ocorrencia As Integer)
Dim Nome
Dim k As Integer, i As Integer
Application.Volatile
    k = 1
    i = 1
    For Each Nome In IntervaloPesquisa
        If Nome = NomePesquisa Then
        If k = Ocorrencia Then PROCVVARIOS = IntervaloRetorno(i, 1)
        k = k + 1
        End If
        i = i + 1
    Next Nome
End Function
Function PROCVMÚLTIPLO(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range) As String
Dim Valor, Nome
Dim k As Integer
Application.Volatile
    k = 1
    For Each Nome In IntervaloPesquisa
        If Nome = NomePesquisa Then
        Valor = IntervaloRetorno(k, 1)
        PROCVMÚLTIPLO = PROCVMÚLTIPLO & Valor & "; "
        End If
        k = k + 1
    Next Nome
    PROCVMÚLTIPLO = Left(PROCVMÚLTIPLO, Len(PROCVMÚLTIPLO) - 2)
End Function

use a pesquisa do fórum!!!
viewtopic.php?f=5&t=6516
Att

 
Postado : 11/09/2014 10:26 am
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Opa, agradeço as ajudas...
alexandrevba, dei uma fuçada aqui em como usar uma UDF e consegui colocar ela no módulo.. porém onde tenho que colocar ela na planilha? Obrigado.

 
Postado : 11/09/2014 11:22 am
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Crema, pode sim cara !! Obrigado desde já.

 
Postado : 11/09/2014 11:23 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

na guia didite o nome da função!!
se a função tem o nome de Function PROCVMÚLTIPLO
Então digite

=PROCVMÚLTIPLO

Att

 
Postado : 11/09/2014 11:50 am
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Bom dia!!

Alexandrevba, desculpe a minha ignorância, mas não entendi como uso essa fórmula "PROCVMÚLTIPLO"!
Poderia me ajudar?

Obrigado...

 
Postado : 12/09/2014 5:36 am
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Consegui fazer ela retornar todos os valores em uma linha.. porém tem como fazer retornar apenas o código na aba "Produtos Vencidos"?
Só que isso teria que ser um por linha... e daí pelo código consigo reconstruir toda a linha do produto... pelo PROCV...
Obrigado por enquanto!!

 
Postado : 12/09/2014 5:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dai!!

Veja o arquivo em anexo....

Att

 
Postado : 12/09/2014 7:50 am
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Alexandre 99% feito cara. kkkkk é exatamente isso... a base é isso mesmo
Tenho duas dúvidas:

1º se depois que eu lançar uns 300 itens em cada aba, aquele botão "COPIAR" vai continuar buscando todas as condições "VENCIMENTO EM 3 MESES OU MENOS" e jogando todos os valores lá?

2º Se eu clicar 2x no botão copiar ele acrescenta os valores repetidos... tem algum jeito dele não repetir? No caso ele iria fazer a pesquisa e retornar o valor sem repetir o que já tem...
Faz o teste, clica em copiar 2x p/ vc ver, ele duplica os valores... só queria um jeito de remover isso... e tá resolvido!!! Obrigado Alexandre!!

 
Postado : 12/09/2014 2:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Ao menos em consideração as minhas postagens, que foram (todas) de ajuda à você, click na mãozinha :(

1º se depois que eu lançar uns 300 itens em cada aba, aquele botão "COPIAR" vai continuar buscando todas as condições "VENCIMENTO EM 3 MESES OU MENOS" e jogando todos os valores lá?

R: Eu não fiz os testes, mas teoricamente, Sim, o código foi programado para isso!

2º Se eu clicar 2x no botão copiar ele acrescenta os valores repetidos... tem algum jeito dele não repetir? No caso ele iria fazer a pesquisa e retornar o valor sem repetir o que já tem...
Faz o teste, clica em copiar 2x p/ vc ver, ele duplica os valores... só queria um jeito de remover isso... e tá resolvido!!! Obrigado Alexandre!!

R: Isso depende mais de sua necessidade, e da sua real situação....
As guias de onde estão os dados serão alimentadas (preenchida com dados), continuamente?
Após copiar os dados das guias origens para a guia destino, os dados pode ser deletados?

Deu para perceber que depende da sua necessidade, se poder descrever precisamente e detalhadamente o que precisa!

Att

 
Postado : 12/09/2014 4:46 pm
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

Então, as Abas "Limpeza" e "Escolar" é para eu ter um controle das amostras do que entra, e o que sai p/ as licitações...
O que ta só faltando é na terceira Aba "Produtos Vencidos" ele pesquisar nas duas abas o que está com a condição "VENCIMENTO EM 3 MESES OU MENOS" e ele jogar todas as ocorrências nessa mesma aba.
Digamos que:

Aba Escolar: Borracha branca nº 40 - 3 meses para vencer ou menos.
Aba Limpeza: Desinfetante Floral 5L - 3 meses para vencer ou menos.

Quando eu clicar em copiar na Aba "Produtos Vencidos" ele vai mostrar essas duas ocorrências.
Só que quando eu remover esses dois itens (por já terem sido vendidos ou removidos da lista) e logo clicasse em COPIAR, ele atualizasse os valores removendo as duas ocorrências que removi das outras abas... e assim por diante, caso acrescentasse ou removesse, clicando no "COPIAR" ele atualizasse os valores sem repetir igual ta fazendo nesse modelo que me mandou... só isso que ta faltando!! hehe
Não sei se fui muito claro...
Mas é só isso alexandrevba!!

Obrigado por enquanto...

 
Postado : 13/09/2014 1:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Talvez você esteja criando confusão ou eu não estou entendendo.

No post anterior eu falei algum próximo disso.

ó que quando eu remover esses dois itens (por já terem sido vendidos ou removidos da lista) e logo clicasse em COPIAR, ele atualizasse os valores removendo as duas ocorrências que removi das outras abas..

Onde e como esse processo será feito?

vamos ver se eu entendi... :roll:
Após você vender seu produto de vendimento próximo, ou eles serão deletados (onde serão deletados, qual guia?), ou terá em uma coluna dizendo que foram vendidos, ou outra guia onde constam os vendidos.

Como eu naõ uso seu arquivo e não sei exatamente o que você quer, por favor tente explicar com detalhes!!

Att

 
Postado : 13/09/2014 5:41 pm
(@marcos94)
Posts: 37
Eminent Member
Topic starter
 

bom dia!!
Vamos lá, vou tentar explicar com imagens..

Considere na aba "Limpeza", esses itens:

Considere na aba "Escolar", esses itens:

Fiz uma alteração na fórmula p/ calcular a validade:

Antes estava assim:

SE(I2="INDETERMINADO";"PRODUTO SEM VALIDADE";SE(I2-HOJE()<=7;"ATENÇÃO!";SE(I2-HOJE()<=90;"VENCIMENTO EM 3 MESES OU MENOS";""))))

Agora, está assim:

=SE(I2="";"";SE(I2="INDETERMINADO";"PRODUTO SEM VALIDADE";SE(I2-HOJE()<=7;"ATENÇÃO!";SE(I2-HOJE()<=90;"VENCIMENTO EM 3 MESES OU MENOS";""))))

A única coisa que está mudando é que se eu não digitar um prazo de validade, o cálculo da validade fica em branco, porque até então estava ficando em vermelho "ATENÇÃO". rs

Cliquei em copiar, na aba de "Produtos Vencidos".

Até aqui tudo certo.

Agora, digamos, que tenha vendido da Aba de Limpeza, 2 produtos:

  • Lã de Aço
  • Desinfetante Floral
  • Vou remover os 2 da lista,

    Agora, iria atualizar os valores na terceira aba "Produtos Vencidos"

    OBS: Note que já tem os itens anteriormente.

    Quando clico em copiar, ele não atualiza os valores, ele apenas acrescenta...

    O que eu precisava era só que quando clicasse em copiar, ele já atualizasse as ocorrências sem duplicar o que já tinha anteriormente...
    E outra coisa que está acontecendo agora, é que por eu ter mudado a fórmula:

    Antes estava assim:

    SE(I2="INDETERMINADO";"PRODUTO SEM VALIDADE";SE(I2-HOJE()<=7;"ATENÇÃO!";SE(I2-HOJE()<=90;"VENCIMENTO EM 3 MESES OU MENOS";""))))

    Agora, está assim:

    =SE(I2="";"";SE(I2="INDETERMINADO";"PRODUTO SEM VALIDADE";SE(I2-HOJE()<=7;"ATENÇÃO!";SE(I2-HOJE()<=90;"VENCIMENTO EM 3 MESES OU MENOS";""))))

    Ele não está jogando apenas as ocorrências "VENCIMENTO EM 3 MESES OU MENOS"...

    Segue anexo a planilha p/ dar uma olhada... quando puder...

    É só isso Alexandre!!

    Mt obrigado até aqui me ajudou...
    Tks.

     
    Postado : 15/09/2014 5:41 am
    (@fernandofernandes)
    Posts: 43750
    Illustrious Member
     

    Boa tarde!!

    Infelizmente as imagem para mim não aprecem!!!

    Att

     
    Postado : 15/09/2014 9:50 am
    Página 1 / 2