Ir ao conteúdo
  • Cadastre-se

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


emso.exe

Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...