找不到命名参数VBA编译错误

时间:2019-05-27 14:10:40

标签: excel vba

我想编写一个代码来对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 个答案:

答案 0 :(得分:2)

根据Range.Sort method的文档,仅存在3个unique opners = DISTINCTCOUNT( 'dw useraction_fact'[user_id]) KeyOrder参数,而不是14。

DataOption

您需要将其更改为使用.Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

.SortFields