在excel vba中用多于1个键sorting数据库

我想用4个键sorting数据库,但是每当我添加第四个键时它的名字的参数找不到,而它与这3个键sorting数据库..如何添加第四个在这.. ..

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 

Range.Sort方法每个进程最多有三个键。 但是,如果先按多余的键,再按三个最主要的键,就可以得到相同的结果。

 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相同的结果。

我尝试使用With … End With语句来确保定义键的父级的简单方法。 您的原始代码依赖于ActiveSheet属性 ,这并不总是可靠的。