Ir ao conteúdo
  • Cadastre-se
emso.exe

VBA - Pesquisa por código ou descrição

Recommended Posts

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 Bporé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("dados")
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×