Página 1 de 1

CLASSIFICAR EM ORDEM CRESCENTE

Enviado: 11 Out 2018 às 10:04
por fabricioaraujop
Amigos, bom dia!

Como posso editar um código VBA para que minha macro classifique em ordem crescente ou decrescente por 3 colunas de dados diferentes.

Atualmente o meu código que eu criei via gravação de macro fica restrito a planilha que gravei a macro. Se por exemplo quiser executar na Planilha11, por exemplo, ela não irá se aplicar. O que posso editar aqui para tornar esta macro universal, sem vincular a Sheet?

P.S.: as Colunas sempre serão as mesmas, a quantidade de células que podem variar.


ActiveWorkbook.Worksheets("Planilha10").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Planilha10").Sort.SortFields.Add Key:=Range( _
"C6:C10010"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Planilha10").Sort.SortFields.Add Key:=Range( _
"N6:N10010"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Planilha10").Sort.SortFields.Add Key:=Range( _
"H6:H10010"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Planilha10").Sort
.SetRange Range("A5:Q10010")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

CLASSIFICAR EM ORDEM CRESCENTE

Enviado: 11 Out 2018 às 10:11
por GladstoneD
Olá, bom dia!!

No seu código, vc limitou a rotina a Planilha 10.

Substitua Worksheets("Planilha10")
Por ActiveSheet

Dessa forma, a sua macro vai rodar na planilha que estiver ativa. Testa aí e conta pra gente!!

Re: CLASSIFICAR EM ORDEM CRESCENTE

Enviado: 11 Out 2018 às 10:17
por fabricioaraujop
Cara, muito obrigado.

Tava quebrando a cabeça e a resposta era tão simples...

Deu supercerto!


Valeuuuuuu!!!!