Me desculpem o pitaco, mas tentando contribuir.
Creio que o motivo para a linha do total estar sendo considerada, e por que ao criar o filtro, não foi definido a range, então o excel "pegou" o usedrange, e isso inclue a linha de total.
No local em que estou não tenho excel 2007/2010 para testar, mas simulando no 2003 (com o conversor), aparentemente funciona bem.
A proposta do Alexandre tambem e funcional, pois transfere o linha de total para baixo e depois a repoem (uma sacada bem interessante).
Outra possibilidade é criar o filtro no codigo, caso haja a possibilidade de alteração da range (inclusão ou exclusão de linhas).
Foi editado no 2003 mas deve funcionar nos acima tb
Sub Data()
Dim uLinha As Long
'Determina a ultima linha com dados em A, diminui 1 pois a ultima não entra no filtro
uLinha = Range("A" & Rows.Count).End(xlUp).Row - 1
Range("A9:E" & uLinha).Select
'limpa o auto filtro caso a range altere
Selection.AutoFilter
'Cria o auto filtro
Selection.AutoFilter
Selection.Sort Key1:=Range("A10"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A9").Select
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 23/03/2012 3:51 pm