luiz, só para a sua compreensão :
ultLin = Cells(Rows.Count, "H").End(xlUp).Row - Aqui capturamos a última linha preenchida na Coluna "H", supomos que é a 20
Set rng = Range("A1:H" & ultLin) - Definimos o Range como sendo de "A1 até H20
vlrMaximo = WorksheetFunction.Max(Range("H1:H" & ultLin)) - Pegamos o Valor Máximo nesta Coluna "H1:H20"
Aqui vem a questão, como definimos o Range "A1:H20", a coluna "H" é a oitava coluna contando de A até H, então o "Field" - campo é 8
rng.AutoFilter Field:=8, Criteria1:="=" & vlrMaximo & ""
Pela sua adaptação :
ultLin = Cells(Rows.Count, "U").End(xlUp).Row- Aqui capturamos a última linha preenchida na Coluna "U", supomos que é a 20
Set rng = Range("U10:U" & ultLin) -Foi Definido o Range como sendo de "U10 até U20"
vlrMaximo = WorksheetFunction.Max(Range("U1:U" & ultLin)) - Pegamos o Valor Máximo nesta Coluna "U1:U20" dependendo do que tem acima de U10 poderá dar erro, então ajuste "U1" para "U10"
Nesta linha, como o Range definido foi somente uma Coluna, a "U" - o "Field" - campo tem de ser 1, uma vez que temos somente um campo
rng.AutoFilter Field:=1, Criteria1:="=" & vlrMaximo & ""
Faça os ajustes e veja se da certo agora.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 07/05/2015 8:52 am