Na planilha anexada estou conseguindo ordenar em ordem crescente conforme a macro abaixo, mas gostaria que a macro identificasse a última linha com dados preenchidos no intervalo das coluna B até F. Da forma que esta eu determinei um intervalo final, que pode ser maior ou menor. Preciso que ela ordene primeiro pelas datas, em seguida pelas entradas e por fim as saídas.
Tentei adaptar uma linha nesta macro como esta do exemplo (Range("b8:f" & Range("f" & Cells.Rows.Count).End(xlUp).Row).Select), mas não funcionou. Falta conhecimento. Alguém me ajuda?
Sub OrdenaCaixa()
'
' Classifica o intervalo.
'
'
Range("b8:f5700").Select
ActiveWorkbook.Worksheets("Cx_Loja").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Cx_Loja").Sort.SortFields.Add Key:=Range( _
"b8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Cx_Loja").Sort
.SetRange Range("b8:J5700")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Range("a7").Select
End With
End Sub
Postado : 14/10/2015 12:43 pm