Pessoal,
Sou novato aqui e ainda não entendo quase nada de VBA, então desculpem qualquer ignorância antecipadamente.
Preciso de uma macro que classifique todas as linhas a partir da 15 até a última preenchida.
Para achar a última linha preenchida posso usar as colunas A, B ou C.
O critério de classificação é ordem alfabética da coluna B.
A tabela vai da coluna A até a N, caso seja necessário para alguma coisa.
Juntei o que achei pesquisando na internet e cheguei nessa solução (SEM ENTENDER O MECANISMO DIREITO):
************************************************************************
Sub Ordenar_por_Cliente()
Dim LR As Long
With ActiveWorkbook.Worksheets("2016")
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("B15"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
LR = .Cells(Rows.Count, 1).End(xlUp).Row
End With
With ActiveWorkbook.Worksheets("2016").Sort
.SetRange Range("A15:n15" & LR)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
************************************************************************
Esse código está funcionando, pelo menos com os testes que fiz até agora.
O problema é que funciona especificamente para a aba "2016", e gostaria de generalizar para criar abas dos outros anos sem precisar criar novas macros.
Alguém consegue me ajudar?
Se tiverem sugestões melhores ou mais simples também seria ótimo.
Obrigado
Postado : 15/12/2015 2:29 am