Usuário com melhor resposta
Macro classificar ordem crescente

Pergunta
-
Tenho uma planilha com 1600 linhas e 5 colunas. Os valores das colunas estão colocados de forma aleatoria. Para coloca-los em ordem crescente preciso fazer de linha em linha da esquerda para a direita so que sao 1600 linhas. Alguem teria uma macro que fizesse essa tarefa de uma vez ? Me ajudaria demais. Obrigado.quarta-feira, 27 de setembro de 2006 18:26
Respostas
-
Tuta... Fantastico !!! , funcionou perfeitamente e em poucos minutos eu tive toda a ordenação concluida com perfeição. Muitíssimo obrigado !!
Forte abraço.
quinta-feira, 28 de setembro de 2006 13:12
Todas as Respostas
-
Olá Cespim!
Não entendi bem sua dúvida. Vc tem 5 colunas, cada um com 1600 linhas, totalizando 8000 dados, é isso?
Vc precisa classificar cada linha da esquerda para a direita (fazendo com que a primeira coluna tenha sempre o maior valor da linha), ou vc quer colocar os 8000 dados numa única coluna pra depois classificar tudo?
Se vc puder dar um exemplo da planilha, ficaria mais fácil de entender e te ajudar.
quarta-feira, 27 de setembro de 2006 19:26 -
Oi Raphael ,
Eu tenho 5 colunas (A,B,C,D e E) e cada coluna vai da linha 1 a linha 1600 preenchidas com numeros. Preciso ordenar esses numeros em ordem crescente do menor na coluna A para o maior na coluna E nas 1600 linhas e eu só consigo fazer isso de linha em linha mandando o Excel classificar em ordem crescente da esquerda para a direita. Se eu conseguisse uma macro que fizesse essa classificação automatica seria fantastico. Desde já, muito obrigado pela atenção.
Situaçao Atual Situaçao Pretendida
A B C D E A B C D E
1 10 7 9 5 3 1 3 5 7 9 10
2 2 5 8 1 9 2 1 2 5 8 9
3 9 6 10 3 7 3 3 6 7 9 10
Abraço.
quarta-feira, 27 de setembro de 2006 21:18 -
Sub Macro1()
'
' Macro1 Macro
' Macro gravada em 27/9/2006 por Carlos
''
Dim cr As Range
Set cr = Range("i3")
For i = 1 To cr
Range("F56000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, -5).Range("A1:E1").Select
Selection.Copy
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
Selection.Sort Key1:=Range("G1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Selection.Copy
Range("F56000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, -5).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("F56000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "ok"
ActiveCell.Offset(0, 1).Range("A1").Select
Columns("G:G").Select
Selection.ClearContents
Range("G1").Select
Next
Columns("F:F").Select
Selection.ClearContents
Range("G1").Select
End Sub12 quantidade registro 1 5 10 15 82 0 quantidade registro ordenados 1 4 10 45 65 12 a ordenar 3 6 10 14 15 5 11 16 21 28 5 69 100 500 1200 1 12 54 598 698 1 2 5 11 659 7 9 14 16 21 1 12 24 55 98 1 2 11 45 65 5 8 10 14 94 9 12 40 58 98 quarta-feira, 27 de setembro de 2006 22:47 -
Tuta... Fantastico !!! , funcionou perfeitamente e em poucos minutos eu tive toda a ordenação concluida com perfeição. Muitíssimo obrigado !!
Forte abraço.
quinta-feira, 28 de setembro de 2006 13:12