Classificando todas as 7 linhas até o final da planilha

1

Eu tenho uma planilha com cinco colunas A-E e quase 10.000 linhas. Eu preciso classificar cada 7 linhas até o final da planilha usando dados na coluna C. Voltar para o início O código a seguir faz o trabalho para o intervalo A1: E7. Este código pode ser modificado para classificar cada 7 linhas usando seus dados relevantes na coluna C dentro de sua faixa, por exemplo? C8: C14 para o intervalo A8: E14 e C15: C21 para o intervalo A15: E21 .. etc.?

Sub sort_7_rows()

Range("A1:E7").Select
ActiveWorkbook.Worksheets("sequencing (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("sequencing (2)").Sort.SortFields.Add Key:=Range( _
    "C1:C7"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
With ActiveWorkbook.Worksheets("sequencing (2)").Sort
    .SetRange Range("A1:E7")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

End Sub


Qualquer assistência especializada com esta questão é muito apreciada. Agradecemos antecipadamente

    
por Josef Miller 07.11.2014 / 22:06

1 resposta

0

Há uma maneira bem fácil de fazer isso sem o VBA. Isso requer que você crie duas novas colunas. Na primeira coluna, basta imprimir o seu número de linha; Assim, por exemplo, na linha 1, digite 1 e na linha dois, digite 2 . Em seguida, selecione as duas células e preencha até o final do conjunto de dados, isto é, 10.000 linhas.

Na segunda coluna que você criou, digite a equação =ROUNDUP(A1/7,0)*7 . Em seguida, preencha a equação até o final do conjunto de dados. Isto irá arredondar cada número na primeira coluna para o número mais próximo divisível por 7. Isso basicamente agrupa seus dados por linhas de sete.

Por fim, você classificará seu conjunto de dados usando a janela Sort :

Primeiroclassifiquepelosvaloresdasegundacolunaquevocêcrioue,emseguida,pelosvaloresquevocêchamoude"linha C" em sua pergunta.

    
por 07.11.2014 / 23:21