Excel VBA Сортировка с несколькими ключами и индивидуальный заказ - PullRequest
0 голосов
/ 08 января 2020

У меня есть таблица, которая нуждается в сортировке по двум столбцам: A и E. Столбец A является числовым, и первым критерием является порядок возрастания. Столбец E имеет определенные c значения, и мне нужно, чтобы он был расположен в определенном порядке c: PS, MS, RDS, ES, FS, PFS, TS, DS, DE, TE, PFE, FE, EE, RDE, ME, PE.

Я думал, что этот код ниже будет работать, но он определенно не справляется с пользовательским заказом. Я не уверен, что я делаю не так?

Спасибо

With Listing.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending
    .SortFields.Add Key:=Range("E1"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        CustomOrder:="PS,MS,RDS,ES,FS,PFS,TS,DS,DE,TE,PFE,FE,EE,RDE,ME,PE"
    .SetRange Columns("A:M")
    .Header = xlYes
    .Apply
End With

1 Ответ

1 голос
/ 08 января 2020

Параметр Key:=Range("xx") должен представлять собой отсортированные ячейки столбца, а не ячейку заголовка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...