Inquiridor
Formulário de Busca Personalizada

Pergunta
-
Prezados
Boa tarde,
Estou tentando fazer um formulário de busca personalizada, ou seja, ao digitar qualquer informação que conste na planilha sejam informados quantos resultados constam, entretanto o código abaixo está voltando com erros, informa que o objeto é obrigatório.
Abaixo o código usado:
Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As String)
Dim Busca As Range
Dim Primeira_Ocorrencia As String
Dim Resultados As String
'Executa a busca
Set Busca = fornecedor.Cells.Find(What:=TermoPesquisado, After:=Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'Caso tenha encontrado alguma ocorrência
If Not Busca Is Nothing Then
Primeira_Ocorrencia = Busca.Address
Resultados = Busca.Row 'Lista o primeiro resultado na variavel
'Neste loop, pesquisa todas as próximas ocorrências para
'o termo pesquisado
Do
Set Busca = fornecedor.Cells.FindNext(After:=Busca)
'Condicional para não listar o primeiro resultado
'pois já foi listado acima
If Not Busca.Address Like Primeira_Ocorrencia Then
Resultados = Resultados & ";" & Busca.Row
End If
Loop Until Busca.Address Like Primeira_Ocorrencia
MatrizResultados = Split(Resultados, ";")
'Atualiza dados iniciais no formulário
SpinButton1.Max = UBound(MatrizResultados) 'Valor maximo do seletor de registros
'habilita o seletor de registro
SpinButton1.Enabled = True
'indicador do seletor de registros
Label_Registros_Contador.Caption = "1 de " & UBound(MatrizResultados) + 1
'Box com o conteudo encontrado
TextBox3.Text = fornecedor.Cells(MatrizResultados(0), 2).Value
TextBox4.Text = fornecedor.Cells(MatrizResultados(0), 3).Value
TextBox5.Text = fornecedor.Cells(MatrizResultados(0), 4).Value
TextBox6.Text = fornecedor.Cells(MatrizResultados(0), 5).Value
Else 'Caso nada tenha sido encontrado, exibe mensagem informativa
SpinButton1.Enabled = False 'desabilita o seletor de registros
Label_Registros_Contador.Caption = "" 'zera os resultados encontrados
'limpa os campos do formulário
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
MsgBox "Nenhum resultado para '" & TermoPesquisado & "' foi encontrado."
End If
End SubPoderiam por gentileza me orientar?
Agradeço desde já
Todas as Respostas
-
JÁ PASSEI PELO MESMO ERRO. O PROBLEMA É ESSA FUNÇÃO FIND. RESOLVI O PROBLEMA TIRANDO A FIND E FAZENDO UM LAÇO WHILE PARA PERCORRER AS LINHAS QUE EU QUERIA.
Anderson Diniz diniabr2011@gmail.com
- Sugerido como Resposta AndersonFDiniz2 quinta-feira, 9 de novembro de 2017 17:45
-