Notifications
Clear all

Filtro

4 Posts
2 Usuários
0 Reactions
956 Visualizações
 caje
(@caje)
Posts: 97
Trusted Member
Topic starter
 

Bom Dia Pesquisei o Forum mas Não encontrei mas acho que a duvida é simples

Tenho uma Macro onde preciso aplicar o Filtro Depois de porém quando aplico desta forma a Macro não filtra nada

ultimo_dia = "> " & ultimo_dia

    
   Selection.AutoFilter Field:=1, Criteria1:=ultimo_dia

Alguém tem alguma sugestão eu tentei concatenar o Sinal de "<" junto na variavel mas mesmo assim não deu certo

 
Postado : 26/03/2015 1:35 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

O que está alimentando a variável ultimo_dia antes destas linhas de código?? É um inputbox, uma célula, uma outra linha de código? Não dá pra definir o erro só com este pedaço do código. Poste o código completo.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 26/03/2015 1:48 pm
 caje
(@caje)
Posts: 97
Trusted Member
Topic starter
 

Boa Tarde Rafael

Era uma data que faz referencia a uma célula e a variavel está recebendo a data certinho mas ela não busca os valores depois dessa data

Windows("Controle  Sracp - Devoluções 2015 .xlsm").Activate


i = 4
While Sheets("Devolução").Cells(i, 1) <> ""
i = i + 1
Wend

i = i - 1
ultimo_dia = Sheets("Devolução").Cells(i, 1)

ultimo_dia = ">" & ultimo_dia
 
Postado : 26/03/2015 1:59 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Creio que o problema está no formato de data, que o VB acaba compreendendo no formato americano (mm/dd/aa) e então o filtro errado dependendo da data da célula, pois ele vai entender, por exemplo, 05/03/2015 como 03/05/2015.

Experimente converter para tipo Long na hora que alimentar a variável, que acho que dá certo, desde que ultimo_dia não esteja declarado como Date (qualquer coisa declare como variant):

Windows("Controle  Sracp - Devoluções 2015 .xlsm").Activate

i = 4
While Sheets("Devolução").Cells(i, 1) <> ""
i = i + 1
Wend

i = i - 1
ultimo_dia = clng(Sheets("Devolução").Cells(i, 1))

ultimo_dia = ">" & ultimo_dia

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 26/03/2015 2:22 pm