locked
Macro classificar ordem crescente RRS feed

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

    12 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