Notifications
Clear all

Como filtrar data passada a partir de uma valor digitado.

5 Posts
2 Usuários
0 Reactions
728 Visualizações
(@jotasilva)
Posts: 0
New Member
Topic starter
 

Bom dia a todos,
Tenho uma macro que faz um filtro com o seguinte criterio, o usuario digita uma valor e apartir deste valor a macro faz um filtro buscanco valores a partir da data igual ou maior da data atual, * (Date - 1) * blz esta funfando de boas...mas...
se nao tiver valor com data igual ou maior, somente menor ao dia atual, ele tem que trazer esta data mas nao estou conseguindo...
alguem pode me clarear as ideias??

Dim curValor As String
        

        Workbooks("Filtros de Data e Valor.xlsm").Activate
        Sheets("entrada").Activate

        curValor = InputBox("Informe o valor", "Informar Valor")
        
        
        curValor = Format(curValor, "####.00")

        'Debug.Print dteData
        'Debug.Print curValor
        
        Rows("1:1").Select
        Selection.AutoFilter
        Range("H7").Select
        ActiveSheet.Range("$A$1:$H$5").AutoFilter Field:=7, Criteria1:=curValor, Operator:=xlAnd
        ActiveSheet.Range("$A$1:$H$5").AutoFilter Field:=8, Criteria1:=">" & Format((Date - 1), "mm/dd/yyyy"), Operator:=xlAnd
        
        Columns("G:G").Select
        'Selection.NumberFormat = "#,##0.00"
        Range("G1").Select
 
Postado : 30/06/2014 6:22 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja se te ajuda...

Sub AleVBA_12302()
Dim curValor As String
        
        Workbooks("Filtros de Data e Valor.xlsm").Activate
        Sheets("entrada").Activate

        curValor = InputBox("Informe o valor", "Informar Valor")
        
        curValor = Format(curValor, "####.00")

        'Debug.Print dteData
        'Debug.Print curValor
        
        Rows("1:1").Select
        Selection.AutoFilter
        Range("H7").Select
        ActiveSheet.Range("$A$1:$H$5").AutoFilter Field:=7, Criteria1:=curValor, Operator:=xlAnd
        ActiveSheet.Range("$A$1:$H$5").AutoFilter Field:=8, Criteria1:=">" & Format((Date - 1), "mm/dd/yyyy"), Operator:=xlOr
        
        ActiveSheet.Range("$A$1:$H$5").AutoFilter Field:=8, Criteria1:="<" & Format((Date - 1), "mm/dd/yyyy"), Operator:=xlAnd
        
        Columns("G:G").Select
        'Selection.NumberFormat = "#,##0.00"
        Range("G1").Select
End Sub
 
Postado : 01/07/2014 1:45 pm
(@jotasilva)
Posts: 0
New Member
Topic starter
 

alexandrevba, cara desculpa a demora... enroladasso...mas vamos la,

fou uma, boa dica mas se se tiver valor no 1º filtro, quando for analisar o 2º filtro ele refaz e ainda traz todas as datas, sendo que quero pegar apenas uma retorativa entendeu...dai nao da certo. o certo seria colocar um IF nesse meio ai mas eu nao sei como?????
alguem pode ajudar?

 
Postado : 03/07/2014 8:16 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Em quanto não disponibilizem uma resposta satisfatória, poste seu arquivo modelo, contendo o antes e depois do resultado desejado.

Att

 
Postado : 03/07/2014 6:32 pm
(@jotasilva)
Posts: 0
New Member
Topic starter
 

segue o arquivo, para rodar a macro, control+shifit+Q.

tem dois arquivos, o chamado , FOLHA.csv e excel mesmo para poder fazer o teste, pesquisar pello valor 2160,91
vlw...obrigado por enquanto.

 
Postado : 07/07/2014 7:33 am