Boa Tarde,
Estou a procura de um código que retorne apenas a palavra exata digitada no textbox ex:
Palavra para pesquisa textbox= Plano Meta
Mas na planilha tenho:
Plano Meta
Plano Meta 1
Plano Meta 2
Plano Meta
-Quando digito apenas "plano meta" quero que me retorne apenas os 2 planos meta.
O código que uso sempre em outras planilhas minhas é:
'*** Vai fazer a busca na listbox apenas baseando-se na data
' Condição... se não for selecionado as datas para pesquisa não vai executar o código
If Me.TextBox4 = "" Or Me.TextBox3 = "" Then
MsgBox ("Favor preencher a data inicial e final para a pesquisa")
Me.TextBox4.SetFocus
Exit Sub
'se estiverem preenchidas as datas a pesquisa será feita
Else
''se estiverem preenchidas as datas a pesquisa será feita
valor_pesq = Cmb_modalidades.Text
Dim guia As Worksheet
Dim linha As Integer
Dim coluna As Integer
Dim coluna_data As Integer
Dim linhalistbox As Integer
Dim valor_celula As String
Dim valor_celula_data As Date
Dim conta_registros As Integer
Dim data_inicio As Date
Dim data_fim As Date
Set guia = ThisWorkbook.Worksheets("Filtro")
data_inicio = Me.TextBox4
data_fim = Me.TextBox3
linhalistbox = 0
conta_registros = 0
linha = 5
coluna = 5
coluna_data = 3
lst_busca2.Clear
Sheets("Filtro").Select
With guia
While .Cells(linha, coluna).Value <> Empty
valor_celula = .Cells(linha, coluna).Value 'recebe o valor da célula para fazer o teste
valor_celula_data = .Cells(linha, coluna_data).Value 'recebe o valor da data para fazer o teste
'Condição para satisfazer a busca tem que ser igual ao valor da texbox1 e estar entre o valor inicial e final das datas
If UCase(Left(valor_celula, Len(valor_pesq))) = UCase(valor_pesq) _
And valor_celula_data >= data_inicio _
And valor_celula_data <= data_fim Then
'adiciona itens a listbox
With lst_busca2
.AddItem
.List(linhalistbox, 0) = Sheets("Filtro").Cells(linha, 3) 'Data
.List(linhalistbox, 1) = Sheets("Filtro").Cells(linha, 2) 'Nome
.List(linhalistbox, 2) = Sheets("Filtro").Cells(linha, 15) 'Quant
.List(linhalistbox, 3) = Sheets("Filtro").Cells(linha, 5) 'Serviço
.List(linhalistbox, 4) = Sheets("Filtro").Cells(linha, 19) 'Forma
.List(linhalistbox, 5) = Sheets("Filtro").Cells(linha, 11) 'Aut/Num
.List(linhalistbox, 6) = Format(Sheets("Filtro").Cells(linha, 12), "currency") 'Entrada
.List(linhalistbox, 7) = Format(Sheets("Filtro").Cells(linha, 13), "currency") 'Saída
.List(linhalistbox, 8) = Sheets("Filtro").Cells(linha, 7) 'Observação
.List(linhalistbox, 9) = Sheets("Filtro").Cells(linha, 14) 'Func
linhalistbox = linhalistbox + 1
End With
conta_registros = conta_registros + 1
End If
linha = linha + 1
Wend
End With
Me.lbl_registros = "Referente a " & data_fim & " foram encontrados " & conta_registros & " registros."
Me.Label96 = conta_registros
Mas com esse código se eu pesquisar plano meta, ele retorna todos os planos meta (Meta, Meta 1 e Meta 2)
obs: Não tenho a planilha ainda, estou a procura para poder faze-la
Obrigada.
Postado : 08/06/2017 12:35 pm