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

Fazer Pesquisa de valores maiores que um número e retornar em Userform


wehaveall

Pergunta

Saudações, sou novo aqui no fórum e em vb. Estou precisando de ajuda para fazer uma função que pesquise valores maiores que um determinado número em uma coluna e retorne esses dados numa userfom com spinbutton pra ir passando os registros completos encontrados, com seus textbox. Tenho um modelo que pesquisa valores iguais com find.what:=termopesquisado, mas não consegui fazer com valores maiores que temo pesquisado. Algum expert pode me ajudar? Grato

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

É excel sim amigo. Tem como me passar um pequeno exemplo da função pra eu ter uma noção? Estou colando o meu código:

Neste código ele só lista o último registro maior que o valor pesquisado, deve ser porque a matriz é alterada em cada if

Private Sub ProcuraPersonalizada_30(ByVal Termopesquisado As Integer)

Dim busca As Range
Dim Primeira_Ocorrencia As String
Dim Resultados As String
Dim L As Integer

Ident:
Ident2:

 If Termopesquisado > 999 Then
     Exit Sub
     End If



    'Executa a busca
      Set busca = Plan1.Range("M36:M60000").Find(What:=Termopesquisado, After:=Range("M36"), 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 = Plan1.Range("M36:M60000").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
        TextBox1.Text = Plan1.Cells(MatrizResultados(0), 1).Value
        TextBox2.Text = Plan1.Cells(MatrizResultados(0), 2).Value
        TextBox3.Text = Plan1.Cells(MatrizResultados(0), 3).Value
        TextBox4.Text = Plan1.Cells(MatrizResultados(0), 4).Value
        TextBox5.Text = Plan1.Cells(MatrizResultados(0), 5).Value
        TextBox6.Text = Plan1.Cells(MatrizResultados(0), 6).Value
        TextBox7.Text = Plan1.Cells(MatrizResultados(0), 7).Value
        TextBox8.Text = Plan1.Cells(MatrizResultados(0), 8).Value
        TextBox9.Text = Plan1.Cells(MatrizResultados(0), 9).Value
        TextBox10.Text = Plan1.Cells(MatrizResultados(0), 10).Value
        TextBox11.Text = Plan1.Cells(MatrizResultados(0), 11).Value
        TextBox12.Text = Plan1.Cells(MatrizResultados(0), 12).Value
        TextBox13.Text = Plan1.Cells(MatrizResultados(0), 13).Value
        TextBox14.Text = Plan1.Cells(MatrizResultados(0), 14).Value
        TextBox15.Text = Plan1.Cells(MatrizResultados(0), 15).Value
        TextBox16.Text = Plan1.Cells(MatrizResultados(0), 16).Value
        TextBox18.Text = Plan1.Cells(MatrizResultados(0), 18).Value
        TextBox19.Text = Plan1.Cells(MatrizResultados(0), 19).Value
        TextBox20.Text = Plan1.Cells(MatrizResultados(0), 20).Value
        TextBox21.Text = Plan1.Cells(MatrizResultados(0), 21).Value
        TextBox22.Text = Plan1.Cells(MatrizResultados(0), 22).Value
        TextBox23.Text = Plan1.Cells(MatrizResultados(0), 23).Value
        TextBox24.Text = Plan1.Cells(MatrizResultados(0), 24).Value

      
        Termopesquisado = Termopesquisado + 1
         L = L + 1
        GoTo Ident
    
    Else    'Caso nada tenha sido encontrado, exibe mensagem informativa
    
    
        Termopesquisado = Termopesquisado + 1
    
        GoTo Ident2
        
        
        SpinButton1.Enabled = False     'desabilita o seletor de registros
        Label_Registros_Contador.Caption = ""   'zera os resultados encontrados
        'limpa os campos do formulário
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        TextBox7.Text = ""
        TextBox8.Text = ""
        TextBox9.Text = ""
        TextBox10.Text = ""
        TextBox11.Text = ""
        TextBox12.Text = ""
        TextBox13.Text = ""
        TextBox14.Text = ""
        TextBox15.Text = ""
        TextBox16.Text = ""
        TextBox18.Text = ""
        TextBox19.Text = ""
        TextBox20.Text = ""
        TextBox21.Text = ""
        TextBox22.Text = ""
        TextBox23.Text = ""
        TextBox24.Text = ""
        

        
        
        MsgBox "Nenhum resultado para '" & Termopesquisado & "' foi encontrado."
  
    End If
    
End Sub

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...