Não é possível classificar as células selecionadas dentro da tabela no Excel 2013

0

Eu criei uma tabela no Excel 2013, mas quero classificar apenas as células selecionadas. O intervalo da tabela é A1: I200, mas eu só quero classificar A150: I200. Eu tentei selecionar as células, clique direito, ordenar, ordenou a tabela inteira. Existe uma solução para isso?

    
por user275603 20.11.2013 / 17:07

1 resposta

0

A macro a seguir funciona. Você primeiro deslistar a tabela, em seguida, classificar o intervalo selecionado e, em seguida, crie o ListObject novamente. Você deve adaptar o Sub para ajustar os detalhes conforme necessário.

Sub part_sort()
    Dim rng_sel As Range, rng_all As Range
    Dim lo_table As ListObject, lo_name As String
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Set rng_sel = Selection
    Set lo_table = rng_sel.ListObject
    lo_name = lo_table.Name
    Set rng_all = lo_table.Range
    Debug.Print rng_all.Address
    lo_table.Unlist

    With ws.Sort
        .SortFields.Clear
        .SortFields.Add Key:=rng_sel.Columns(1), _
            SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
        .SetRange rng_sel
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    Set lo_table = ws.ListObjects.Add(xlSrcRange, rng_all, , xlYes)
    lo_table.Name = lo_name
End Sub

PS: esta pergunta é provavelmente mais adequada para o estouro de pilha.

    
por 20.11.2013 / 21:36