Página 1 de 1
classificação por macro
Enviado: 27 Ago 2015 às 18:10
por jsds
Bom dia. tenho a seguinte situação:
Como faço para organizar um ranking com um botão através de uma macro? Tipo um ranking por pontos em que tenho 50 membros e desejo organizá-los por pontos mas tem membros que estão com pontuação negativa quando classifico fica desarrumado.
Gostaria de uma ajuda pois por exemplo o 17º tem 1 ponto o 18º tem o e na 19º está vazia e na 25º tem alguem com pontuaçõa negativa. como fazer para ele ficar na 19º ? quando organizo fica bagunçado
não sei se deu pra entender.. agradeço..
classificação por macro
Enviado: 27 Ago 2015 às 19:34
por laennder
jsds, poste o seu arquivo com a sua macro. Assim fica mais fácil ajudarmos.
Re: classificação por macro
Enviado: 28 Ago 2015 às 08:27
por alexandrevba
Bom dia!!
Se não puder postar o arquivo, tente gravar uma Macro.
Leia;
https://msdn.microsoft.com/en-us/librar ... e.11).aspx
Código: Selecionar todosSub ClassDesc()
'Classifica descendente
Dim j As Integer
Dim rng As Range
j = Range("A1").End(xlToRight).Column
Set rng = Range(Range("A1"), Range("A1").End(xlToRight).End(xlDown))
rng.Sort key1:=Cells(2, j), order1:=xlDescending, Header:=xlNo
End Sub
Att
classificação por macro
Enviado: 28 Ago 2015 às 09:36
por jsds
Segue a planilha. A aba é a RESUMO. Quando executo o botão PONTOS ou botão PONTOS GUERRA veja como fica a classificação. gostaria que o último colocado ou seja o que tem pontos negativos ficasse embaixo do ultimo membro que tivesse 0 ou menos pontos.
https://drive.google.com/file/d/0B4pFsF ... sp=sharing
Re: classificação por macro
Enviado: 28 Ago 2015 às 10:01
por alexandrevba
Bom dia!!
Desculpa, mas no serviço eu não tenho acesso a sites de hospedagem de arquivos, vamos ver se mais alguém consegue te ajuda.
..Ou poste seu arquivo modelo compactado no fórum...
Att
Re: classificação por macro
Enviado: 28 Ago 2015 às 10:19
por jsds
Segue o arquivo. A aba é a RESUMO
Re: classificação por macro
Enviado: 28 Ago 2015 às 10:35
por alexandrevba
Boa tarde!!
Qual é o resultado desejado?
O positivos devem ficar de cima para baixo (Ascendente)?
Código: Selecionar todosSub ClassDesc()
'Classifica descendente
Dim j As Integer
Dim rng As Range
j = Range("D6").End(xlToRight).Column
Set rng = Range(Range("D6"), Range("D6").End(xlToRight).End(xlDown))
rng.Sort key1:=Cells(6, j), order1:=xlDescending, Header:=xlNo
End Sub
Att
classificação por macro
Enviado: 28 Ago 2015 às 10:49
por jsds
Quero classificar por pontos do jeito que o botão PONTOS faz só que se verificar as células que estão com 0 ficam na frente daquelas que estão preenchidas com nomes e estão com 0 pontos também e a última colocada que está com pontos negativos deveria na teoria ficar após esses membros que estão com 0 e esses membros que estão com 0 pontos deveriam ficar após o último membro com ponto.
Re: classificação por macro
Enviado: 28 Ago 2015 às 10:57
por alexandrevba
Bom dia!!
Quem tem TAG = 0 e Folga = 0 deve ficar na frente de TAG <> 0 e Folga >= 0?
Tem como seguir essa forma de explicar porque se não eu não vou conseguir entender.
Se for algo assim, basta usar uma formula para eliminar e rankear os dados.
Depois usar a macro para classificar pelo raciocínio da formula.
Att
classificação por macro
Enviado: 28 Ago 2015 às 11:37
por jsds
A idéia é simples se Membro = 0 o resto dos campos tem que ser 0 entendeu e deveriam ficar por ultimos quando fosse classificado. mandei novamente a planilha corrigida. onde tem membro 0 tudo tem que ser 0. acho que agora ficou melhor para você me ajudar.
Re: classificação por macro
Enviado: 28 Ago 2015 às 12:57
por alexandrevba
Boa tarde!!
Seria isso?
Veja anexo
Att
classificação por macro
Enviado: 28 Ago 2015 às 13:22
por jsds
mas o membro que tem a pontuação negativa fica na posição 50. na teoria teria que ficar abaixo do ultimo membro com pontuação positiva ou com pontuação 0
Re: classificação por macro
Enviado: 28 Ago 2015 às 13:31
por alexandrevba
Boa tarde!!
Então as variações tem que ser detalhada!!!
Se no seu modelo estivesse exatamente como desejara então e o farei de tal forma, esse código pode te ajudar, caso vc deseja editar e personalizar algo.
Código: Selecionar todosSub AleVBA_496()
With ActiveWorkbook.Worksheets("RESUMO").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("L7:L56"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("K7:K56"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SetRange Range("D6:L56")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Att