Ir para conteúdo
Fórum Script Brasil
  • 0

Pesquisa por código ou descrição


EMSO.EXE

Pergunta

Olá jovens!

Seguinte estou desenvolvendo uma planilha em que o usuário lança em uma célula a descrição do produto (por exemplo: refrigerante) e ao clicar em um botão a sub-rotina pesquisa em uma guia (planilha) e retorna em outra guia todas as ocorrências com a palavra digitada e mais outras informações (por exemplo: preço, qtde em estoque, data de entrada, etc)

O código abaixo retorna com base na pesquisa por descrição do produto na coluna A, este está funcionando.

Quero usar o mesmo código em outro botão para fazer uma pesquisa com base no código da mercadoria que fica na coluna B, porém retorna todos os dados exceto a descrição da mercadoria na coluna A

Agradeço a ajuda

Private Sub btn_consulta_desc_Click()

Call LimpaPesquisa

Dim coluna(31) As String
Dim y, i, k As Integer
y = 7

Sheets("consulta").Select
Range("B4").Select
pesquisa = ActiveCell.FormulaR1C1

    If pesquisa = "" Then Exit Sub
    Set plan = Sheets("smg11")
    Set x = plan.Columns("A:A").Find(what:=pesquisa) 

    If Not x Is Nothing Then
      celula = x.Address
      Do
        plan.Select
        x.Select
        Selection.Copy
        For i = 1 To 31
            coluna(i) = x.Columns(i)
        Next i
        Sheets("consulta").Select
        Range("A" & y).Value = coluna(1)
        Range("B" & y).Value = coluna(2)
        Range("C" & y).Value = coluna(3)
        Range("D" & y).Value = coluna(4)
        Range("E" & y).Value = coluna(5)
        Range("F" & y).Value = coluna(7)
        Range("G" & y).Value = coluna(12)
        Range("H" & y).Value = coluna(14)
        Range("I" & y).Value = coluna(15)
        Range("J" & y).Value = coluna(16)
        Range("K" & y).Value = coluna(17)
        Range("L" & y).Value = coluna(18)
        Range("M" & y).Value = coluna(19)
        Range("N" & y).Value = coluna(21)
        Range("O" & y).Value = coluna(22)
        Range("P" & y).Value = coluna(23)
        Range("Q" & y).Value = coluna(24)
        Range("R" & y).Value = coluna(25)
        Range("S" & y).Value = coluna(26)
        Range("T" & y).Value = coluna(30)
        Range("U" & y).Value = coluna(31)
        
        Call FormatarLinha(y)
        
        y = y + 1
        
        Set x = plan.Columns("A:A").FindNext(x)
      Loop While Not x Is Nothing And x.Address <> celula
    Else
      MsgBox "Produto " & pesquisa & " não encontrado na planilha " & plan.Name
    End If

End Sub

Editado por EMSO.EXE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...