none
Formulário de Busca Personalizada RRS feed

  • 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 Sub

    Poderiam por gentileza me orientar?

    Agradeço desde já

    quinta-feira, 9 de novembro de 2017 17:38

Todas as Respostas