Busca Pesquisa Por ...
 
Notifications
Clear all

Busca Pesquisa Por Data

4 Posts
1 Usuários
0 Reactions
910 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Em planilha anexa, baixada da Internet, gostaria de alterar a pesquisa no Formulário por Data.
O que está faltando?
Grato,
Pedro

 
Postado : 05/04/2015 1:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Funcionou!
Alterei a sub abaixo para: TermoPesquisado As Date

Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As Date, ByVal sPesquisarNoCampo As String)

 
Postado : 19/04/2015 7:05 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Agora deparei com um problema na Busca/Pesquisa:
Quando a Data é digitada (ex: 20/04/2015) na célula, ela é encontrada.
Mas, quando ela vem de uma fórmula (Ex: =SE(C472="";"";+B471+1), NÃO é encontrada.
E Agora?
Grato.

 
Postado : 19/04/2015 9:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pedro, pelo seu post a questão é referente sómente a DATAS, vi que em seu modelo o Combo até está travado nesta opção, se for efetuar pesquisa somente utilizando DATAS terá de fazer as alterações abaixo para que se possa entender o resultado de uma formula como DATA :
Como a Dta é resultado de uma formula, temos de alterar o termo :
xlFormulas para xlValues = de um CTRL + U e em localizar coloque xlFormulas e em Substituir : xlValues e depois clique em substituir todas

Depois altere a Declaração
Public sCriterioDaBusca As String para Public sCriterioDaBusca As Date
Na Rotina:
Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As String, ByVal sPesquisarNoCampo As String) substitua por :
Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As Date, ByVal sPesquisarNoCampo As String)

E as instruções do Botão Procurar, substitua pela a abaixo :

Private Sub btn_Procurar_Click()
    
    Dim sdtMinhaData As Date
    
    If txt_Procurar.Text = "" Then
        MsgBox "Digite um valor para a pesquisa"
    Else
    
        If IsDate(txt_Procurar.Text) Then
            sdtMinhaData = Format(CDate(txt_Procurar.Text), "dd/mm/YYYY")
        Else
            MsgBox "O Valor digitado não é um Data Valida !!"
            
            Exit Sub
    
        End If
    
        sCriterioDaBusca = CLng(sdtMinhaData)
        
        Call ProcuraPersonalizada(sCriterioDaBusca, ComboBox1.Text)
    
    End If
    
End Sub

Reforçando que só funcionará com DATAS, se for utilizar outras opções o ideal é construir Cases.

De uma olhada no link abaixo, tem bastante informação sobre o Find :
Find value in Range, Sheet or Sheets with VBA
http://www.rondebruin.nl/win/s9/win006.htm

[]s

 
Postado : 23/04/2015 7:36 am