Notifications
Clear all

Sort Personalizado

5 Posts
3 Usuários
0 Reactions
1,106 Visualizações
(@kurkas)
Posts: 85
Estimable Member
Topic starter
 

Boa tarde,
Tenho uma tabela que que uma das colunas, após código, devolve estes valores:
ENTREGUE, NÃO ENTREGUE, REGULAR, ERRO

Preciso ordenar, mas por esta ordem:
1º ERRO
2º NÃO ENTREGUE
3º REGULAR
4º ENTREGUE

Acontece que se fizer alfabeticamente não vai dar esta ordem, nem descendente, nem ascendente.

Como faço??

 
Postado : 20/03/2016 11:09 am
(@mprudencio)
Posts: 0
New Member
 

Faça a classificação por partes

Primeiro Classifique por nome em ordem Crescente

Segundo Selecione Apenas os dados que se referem a ERRO E ENTREGE Classifique em ordem decrescente

Assim Erro fica acima e Entregue em Segundo

Terceiro Classifique de Entregue ate a ultima linha em ordem descrecente assim vc vai ter a ordem REGULAR, NÃO ENTREGUE, ENTREGUE

Por ultimo Classifique somente NÃO ENTREGUE E REGULAR EM ORDEM DECRESCENTE assim vai alcançar o resultado esperado.

 
Postado : 20/03/2016 11:29 am
(@kurkas)
Posts: 85
Estimable Member
Topic starter
 

Olá,
Obrigado pela resposta.
Vou ser honesto, não consigo fazer a ordenação como vc disse.
Acho que é a segunda vez na vida que utilizo em vba o sort.
Tenho apenas este código:

Sub ordena()
Plan2.Select
[B2].Sort Key1:=[k2], Order1:=xlAscending
End Sub

é na coluna k que me aparecem os referidos termos.

 
Postado : 20/03/2016 11:46 am
(@edcronos2)
Posts: 0
New Member
 

bem vc não precisa usar o vba
pode usar uma coluna auxiliar com formula e organizar por ela
tipo
=se(k2="ERRO";1;se(k2="NÃO ENTREGUE";2;se(k2="REGULAR";3;4)))
e arrastar até o final
com o vba vc pode usar o mesmo artificio

 
Postado : 20/03/2016 12:10 pm
(@kurkas)
Posts: 85
Estimable Member
Topic starter
 

Olá,
Resolvi assim.
Obrigado

 
Postado : 20/03/2016 1:15 pm