Notifications
Clear all

Pesquisa de dados pelo número do pedido

19 Posts
1 Usuários
0 Reactions
3,498 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá Pessoal

Preciso da ajuda de vocês, na Plan2 tem dados cadastrados, e na Plan1 criei um formulário que quando digito na célula C3 o número do pedido, via vba busca os dados na Plan2 para o formulário na Plan1.

silva_jmp

 
Postado : 02/02/2012 8:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!!

Como ainda estou trabalhando não posso baixar seu anexo.

Mas faça assim.

Na ultima coluna da sua plan2 coloque essa função.
A2: seria a células que tem seus número de pedido,o intervalo ...$i$1:i1 seria a coluna vazia de sua base.
=SE(A2="";"";MÁXIMO($I$1:I1)+1)

Depois use esse código (VBA), para pesguisar na plan1 os dados que estão na plan2, baseado no número de pedido

Sub PesquisarDados()

Range("C7:G12").FormulaR1C1 = _
"=IF(ISERR(MATCH(ROW(R[-6]C1),Plan2!C13,0)),"""",INDEX(Plan2!C1,MATCH(ROW(R[-6]C1),Plan2!C13,0)))"

End Sub

Obs: isso é só um dos recursos e o mesmo não pega todos os dados pois não se havia a necessidade. por favor adapte a sua necessidade

 
Postado : 03/02/2012 1:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!!

Baixe o anexo já está prontinho para uso.

Não se esqueça da mãozinha :lol:

 
Postado : 03/02/2012 5:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite Alexandre,
Obrigado pela sua contribuição, mas nos campos dos itens do pedido estão vindo conforme esta sendo salvo, porém na pesquisa gostaria que os itens viessem uma debaixo do outro.

Mais explicação da necessidade em anexo.

silva_jmp

 
Postado : 11/02/2012 6:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bo noite!!

Veja um exemplo.baixe o anexo..... (não se esqueça das regras do fórum, postar arquivos compactados!!)

Note que é só adaptar o restante, tomo cuidado com as células mescladas.

At +++++ ;)

 
Postado : 11/02/2012 8:45 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Alexandre

Adaptei outra formula na macro que você fez, mas não deu certo, pode dar uma olhada e vê onde estou errando. Fiz uma formula manual tendo concatenação para ter a referencia da formula abaixo e deu certo, adaptei na macro não deu certo.

[E20].FormulaLocal = "=SE(ÉERROS(PROCV($D20;RelVenda!$A$2:$R$5000;6;0))=VERDADEIRO;"";PROCV($D20;RelVenda!$A$2:$R$5000;6;0))" 'Item

silva_jmp

 
Postado : 12/02/2012 8:20 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Veja se te atende!!!

Sub Se_aDicaFoiUtiu_ClicknaMãozinha()
[E20].FormulaLocal = "=SE(ÉERROS(PROCV($D20;RelVenda!$A$2:$R$5000;6;0))=""VERDADEIRO"";"""";PROCV($D20;RelVenda!$A$2:$R$5000;6;0))"
End Sub
 
Postado : 12/02/2012 8:31 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre estamos no caminho certo, apliquei e deu certo, mas nas sequencias dos itens que são vazios esta aparecendo #N/D.

silva_jmp

 
Postado : 12/02/2012 9:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Faça assim...

=SE(ÉERROS(PROCV($D20;RelVenda!$A$2:$R$5000;6;0));"";PROCV($D20;RelVenda!$A$2:$R$5000;6;0))

Não se esqueça da mãozinha ;)

 
Postado : 12/02/2012 10:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, apliquei a formula =SE(ÉERROS(PROCV($D20;RelVenda!$A$2:$R$5000;6;0));"";PROCV($D20;RelVenda!$A$2:$R$5000;6;0)), mas esta dando um erro
Erro em tempo de execução '1004':
Erro de definição de aplicação ou de definição de objeto

silva_jmp

 
Postado : 12/02/2012 11:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!!

Qual a rotina que está dando o erro?

O que ela faz?

Verifique as suas digitações, células bloqueadas ou células mescladas etc...

Att..

 
Postado : 12/02/2012 11:17 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, já na 1ª rotina e dado o erro.

Sub Se_aDicaFoiUtiu_ClicknaMãozinha()
[E20].FormulaLocal = "=SE(ÉERROS(PROCV($D20;RelVenda!$A$2:$R$5000;6;0));"";PROCV($D20;RelVenda!$A$2:$R$5000;6;0))" 'Item

Segue o anexo.

silva_jmp

 
Postado : 12/02/2012 3:24 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!!

Me desculpa acabei me esquecendo de você

Sub Se_aDicaFoiUtiu_ClicknaMãozinha()
    
    [E20] = Application.VLookup(Range("D20"), Range("zinho"), 2, False)
    [F20] = Application.VLookup(Range("D20"), Range("zinho"), 7, False)
    [G20] = Application.VLookup(Range("D20"), Range("zinho"), 8, False)
    [H20] = Application.VLookup(Range("D20"), Range("zinho"), 9, False)
    [I20] = Application.VLookup(Range("D20"), Range("zinho"), 10, False)
    
    
End Sub
 
Postado : 19/02/2012 8:38 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, obrigado por ajudar, fiz o teste com sua sugestão, eliminando aquela poluição :mrgreen: , mas esta buscando somente o primeiro item do pedido pesquisado, e sendo que o pedido em questão, tem mais de um item, apliquei desta forma no modulo:

[E20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 6, False) 'Item
[F20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 7, False) 'Código
[G20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 8, False) 'Descrição
[H20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 9, False) 'Quantidade
[I20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 10, False) 'Unidade
[J20] = Application.VLookup(Range("D20"), Range("RelVenda!$A$2:$R$5000"), 11, False) 'Preço Unitário

silva_jmp

 
Postado : 19/02/2012 9:05 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!!

Coloque essa formula em D20 e arraste pra baixo...=SEERRO(ÍNDICE(RelVenda!$A:$A;CORRESP(LIN(A1);RelVenda!$A:$A;0);1);"")
Coloque essa formula em Planilha RelVenda A1 e arraste pra baixo..=SE(B2="";"";SE(B2=PedVenda!$E$8;MÁXIMO($A$1:A1)+1;""))

Subistitua seu Modulo8 por isso...

Option Explicit

Sub Click_Maozinha()
    Application.ScreenUpdating = False
     
    Call Lookups(Range("D20"), Range("E20:J20"))
    Call Lookups(Range("D21"), Range("E21:J21"))
    Call Lookups(Range("D22"), Range("E22:J22"))
    Call Lookups(Range("D23"), Range("E23:J23"))
    Call Lookups(Range("D24"), Range("E24:J24"))
    Call Lookups(Range("D25"), Range("E25:J25"))
    Call Lookups(Range("D26"), Range("E26:J26"))
     
    Application.ScreenUpdating = True
End Sub
 
Private Sub Lookups(ByVal LookupValue As Variant, ByRef Target As Range)
     
    With Target
         
        .Cells(1, 1).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 6, False) 'Item
        .Cells(1, 2).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 7, False) 'Código
        .Cells(1, 3).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 8, False) 'Descrição
        .Cells(1, 4).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 9, False) 'Quantidade
        .Cells(1, 5).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 10, False) 'Unidade
        .Cells(1, 6).Value = Application.VLookup(LookupValue, Range("RelVenda!$A$1:$R$5000"), 11, False) 'Preço Unitário
    End With
End Sub

Caso não te atenda dê retorno!!

 
Postado : 19/02/2012 11:47 am
Página 1 / 2