对某个范围的多个列进行排序

时间:2012-11-26 13:36:36

标签: excel vba sorting

我正在尝试对某个范围的多个列进行排序。我的工作表有4列(A,B,C,D)和80行...但是,我想按列D排序。但是,我只想按行2-20之间的降序排序。有人可以帮我解释一下这段代码吗?

这是我的代码:

Sub Macro1()
Range("A2:D20").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D2:D20") _
     , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
    .SetRange Range("A1:D20")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

提前谢谢。

1 个答案:

答案 0 :(得分:1)

如何:

Range("A2:D20").Sort key1:=Cells(20, 4), order1:=xlDescending, Header:=xlNo