Boa noite,
Tenho uma planilha que eu busco resultados pesquisando uma palavra e eu consegui trazer os resultados somente de uma linha exemplo linha 1, mas eu preciso trazer os demais resultados dentro do mesmo pedido, exemplo 2, 3, 5, 6, segue meu codigo alguem pode me ajudar.
Public MatrizResultados As Variant
Public Total_Ocorrencias As Long
Private Sub btn_Procurar_Click()
If Me.txt_Procurar.Text = "" Then
MsgBox "Digite um valor para a pesquisa"
Else
Call ProcuraPersonalizada(Me.txt_Procurar.Text)
End If
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label2_Click()
End Sub
Private Sub Label21_Click()
End Sub
Private Sub Label22_Click()
End Sub
Private Sub Label25_Click()
End Sub
Private Sub Label3_Click()
End Sub
Private Sub Label5_Click()
End Sub
Private Sub Label6_Click()
End Sub
Private Sub SpinButton1_Change()
Dim Linha As Long
Dim TotalOcorrencias As Long
TotalOcorrencias = SpinButton1.Max + 1
Linha = MatrizResultados(SpinButton1.Value)
Label_Registros_Contador.Caption = SpinButton1.Value + 1 & " de " & TotalOcorrencias
TextBox1.Text = Plan1.Cells(Linha, 1).Value
TextBox2.Text = Plan1.Cells(Linha, 50).Value
TextBox3.Text = Plan1.Cells(Linha, 3).Value
TextBox4.Text = Plan1.Cells(Linha, 4).Value
TextBox5.Text = Plan1.Cells(Linha, 5).Value
TextBox6.Text = Plan1.Cells(Linha, 51).Value
TextBox7.Text = Plan1.Cells(Linha, 8).Value
TextBox8.Text = Plan1.Cells(Linha, 11).Value
TextBox9.Text = Plan1.Cells(Linha, 7).Value
TextBox10.Text = Plan1.Cells(Linha, 16).Value
TextBox11.Text = Plan1.Cells(Linha, 12).Value
TextBox12.Text = Plan1.Cells(Linha, 13).Value
TextBox13.Text = Plan1.Cells(Linha, 14).Value
TextBox14.Text = Plan1.Cells(Linha, 17).Text
TextBox15.Text = Plan1.Cells(Linha, 20).Value
TextBox16.Text = Plan1.Cells(Linha, 24).Value
TextBox17.Text = Plan1.Cells(Linha, 25).Value
TextBox18.Text = Plan1.Cells(Linha, 21).Value
TextBox19.Text = Plan1.Cells(Linha, 22).Text
TextBox20.Text = Plan1.Cells(Linha, 23).Text
TextBox21.Text = Plan1.Cells(Linha, 26).Value
TextBox22.Text = Plan1.Cells(Linha, 27).Value
TextBox23.Text = Plan1.Cells(Linha, 28).Value
End Sub
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 = Plan1.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 = Plan1.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
TextBox1.Text = Plan1.Cells(MatrizResultados(0), 1).Value
TextBox2.Text = Plan1.Cells(MatrizResultados(0), 50).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), 51).Value
TextBox7.Text = Plan1.Cells(MatrizResultados(0), 8).Value
TextBox8.Text = Plan1.Cells(MatrizResultados(0), 11).Value
TextBox9.Text = Plan1.Cells(MatrizResultados(0), 7).Value
TextBox10.Text = Plan1.Cells(MatrizResultados(0), 16).Value
TextBox11.Text = Plan1.Cells(MatrizResultados(0), 12).Value
TextBox12.Text = Plan1.Cells(MatrizResultados(0), 13).Value
TextBox13.Text = Plan1.Cells(MatrizResultados(0), 14).Value
TextBox14.Text = Plan1.Cells(MatrizResultados(0), 17).Value
TextBox15.Text = Plan1.Cells(MatrizResultados(0), 20).Value
TextBox16.Text = Plan1.Cells(MatrizResultados(0), 24).Value
TextBox17.Text = Plan1.Cells(MatrizResultados(0), 25).Value
TextBox18.Text = Plan1.Cells(MatrizResultados(0), 21).Value
TextBox19.Text = Plan1.Cells(MatrizResultados(0), 22).Text
TextBox20.Text = Plan1.Cells(MatrizResultados(0), 23).Text
TextBox21.Text = Plan1.Cells(MatrizResultados(0), 26).Value
TextBox22.Text = Plan1.Cells(MatrizResultados(0), 27).Value
TextBox23.Text = Plan1.Cells(MatrizResultados(0), 28).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
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 = ""
TextBox17.Text = ""
TextBox18.Text = ""
TextBox19.Text = ""
TextBox20.Text = ""
TextBox21.Text = ""
TextBox22.Text = ""
TextBox23.Text = ""
MsgBox "Nenhum resultado para '" & TermoPesquisado & "' foi encontrado."
End If
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox19_Change()
End Sub
Private Sub TextBox23_Change()
End Sub
Private Sub txt_Procurar_Change()
End Sub
Private Sub UserForm_Initialize()
SpinButton1.Enabled = False
Label_Registros_Contador.Caption = ""
End Sub
Postado : 05/03/2018 5:43 pm