- 14 Dez 2020 às 10:52
#61091
Bom dia a todos !
Pessoal, preciso que o código abaixo coloque em ordem 6 colunas, a primeira é o nome do cliente e as demais é o ano de 2017 á 2021, colocando em ordem decrescente primeiro o ano de 2021, após o ano de 2020 e assim por diante. O problema é que a base de clientes (quantidade) muda ANTES de rodar a macro, sendo que o código abaixo quando gravei a macro, vai até a linha 36, mas essa quantidade muda... se alguém puder me ajudar, desde já agradeço.
Range("NS5:NX5").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NX6:NX36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NW6:NW36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NV6:NV36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NU6:NU36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NT6:NT36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Selecionado").Sort
.SetRange Range("NS5:NX36")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("NS5").Select
Pessoal, preciso que o código abaixo coloque em ordem 6 colunas, a primeira é o nome do cliente e as demais é o ano de 2017 á 2021, colocando em ordem decrescente primeiro o ano de 2021, após o ano de 2020 e assim por diante. O problema é que a base de clientes (quantidade) muda ANTES de rodar a macro, sendo que o código abaixo quando gravei a macro, vai até a linha 36, mas essa quantidade muda... se alguém puder me ajudar, desde já agradeço.
Range("NS5:NX5").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NX6:NX36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NW6:NW36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NV6:NV36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NU6:NU36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Selecionado").Sort.SortFields.Add2 Key:=Range( _
"NT6:NT36"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Selecionado").Sort
.SetRange Range("NS5:NX36")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("NS5").Select