我想用4个键对数据库进行排序,但是每当添加第4个键时,都找不到它的saying named参数,而用这3个键对数据库进行排序。如何在这个…中添加第四个?是吗?
Range("A1:E" & lastrow).Sort key1:=Range("A1:A" & lastrow), order1:=xlAscending, _
key2:=Range("C1:C" & lastrow), order2:=xlAscending, _
key3:=Range("D1:D" & lastrow), order3:=xlDescending, _
Header:=xlYes
最佳答案
每个进程最多有三个键。但是,如果首先按额外的键排序,然后按最主要的三个键进行排序,则会得到相同的结果。
With Range("A1:E" & lastrow)
'sort on the 4th key first (column E)
.Cells.Sort Key1:=.Columns(5), Order1:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlYes
'sort on the 1st, 2nd and 3rd keys (columns A, C and D)
.Cells.Sort Key1:=.Columns(1), Order1:=xlAscending, _
Key2:=.Columns(3), Order2:=xlAscending, _
Key3:=.Columns(4), Order3:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
这产生的结果与方法中允许的
Key4:=.Columns(5), Order4:=xlAscending
相同。我尝试使用Range.Sort method来确保定义键的父级的简单方法。您的原始代码依赖于不总是可靠的With ... End With statement。