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 todos
Sub 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 todos
Sub 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 todos
Sub 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