Именованный аргумент не найден Ошибка компиляции VBA - PullRequest
0 голосов
/ 27 мая 2019

Я хочу написать код для сортировки данных в таблице Excel, которая имеет 14 столбцов и каждый столбец, который я рассматриваю в качестве ключа.Пожалуйста, найдите код ниже.

Когда я пытаюсь запустить упомянутый код VBA, я получаю сообщение об ошибке

«Именованный аргумент не найден» ошибка компиляции.

Range("O2", Range("O2").End(xlDown).End(xlToRight))
    .Sort Key1:=Range("O2"), Order1:=xlAscending, Key2:=Range("P2"), Order2:=xlAscending, Key3:=Range("Q2"), Order3:=xlAscending,
    Key4:=Range("R2"), Order4:=xlAscending, Key5:=Range("S2"), Order5:=xlAscending, Key6:=Range("T2"), Order6:=xlAscending,
    Key7:=Range("U2"), Order7:=xlAscending, Key8:=Range("V2"), Order8:=xlAscending, Key9:=Range("W2"), Order9:=xlAscending,
    Key10:=Range("X2"), Order10:=xlAscending, Key11:=Range("Y2"), Order11:=xlAscending, Key12:=Range("Z2"), Order12:=xlAscending,
    Key13:=Range("AA2"), Order13:=xlAscending, Key14:=Range("AB2"), Order14:=xlAscending, Header:=xlNo

На самом деле, он должен сортировать данные, рассматривая каждый столбец как ключ, но я получаю ошибку компиляции, что "Именованный аргумент не найден".

1 Ответ

2 голосов
/ 27 мая 2019

Согласно документации метода Range.Sort существует только параметр 3 Key, Order и DataOption, а не 14.

.Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

Вам необходимо изменить его на использование .SortFields

With Range("O2", Range("O2").End(xlDown).End(xlToRight)).Sort
    .SortFields.Clear
    .SortFields.Add2 Key:=Range("O2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .SortFields.Add2 Key:=Range("P2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    'and so on … add your other fields here
    .Header = xlNo
    .Apply
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...