Apesar da rotina postada pelo Osvaldo funcionar corretamente, só para entendimento, na rotina apresentada pelo Wagner, para que funcione corrretamente, temos de tirar a definição de DATE das Variáveis DataIn e DataFim
ficando
Dim DataIn
Dim DataFim
Como temos a conversão usando o CDate as mesmas entram em conflito, não gerando erro, mas sim não convertendo a data "13/08/2017" para o formato indicado "mm/dd/yyyy" devido o último mes ser 12, e eliminando a definição DATE temos a filtragem correta, então para a rotina funcionar com datas acima do dia 12 a mesma tem de ficar conforme abaixo :
Sub Filtrar()
Dim UltimaLinha As Long
Dim DataIn
Dim DataFim
DataIn = CDate(Range("G2").Value)
DataFim = CDate(Range("G3").Value)
UltimaLinha = Sheets("Plan1").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If UltimaLinha < 5 Then UltimaLinha = 5
DataIn = Format(Range("G2"), "mm/dd/yyyy")
DataFim = Format(Range("G3"), "mm/dd/yyyy")
ActiveSheet.Range("$A$1:$D$" & UltimaLinha).AutoFilter Field:=2, Criteria1:= _
">" & DataIn, Operator:=xlAnd, Criteria2:="<" & DataFim
End Sub
Trabalhar com Datas no excel é um saco, rsrsrs
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 17/08/2017 12:30 pm