使用多个条件进行范围sorting

我在GA和GB分别有以下数据

GA GB 1 strn 2 accn 6 thon 8 advn 9 estn 14 actn 17 cngn 37 autn 49 empn 

我使用下面的自动生成代码来做A-> Zsorting,其中col GA是关键的范围。

  Columns("GA:GB").Select ActiveWorkbook.Worksheets("CSV Dump").Sort.SortFields.Clear ActiveWorkbook.Worksheets("CSV Dump").Sort.SortFields.Add Key:=Range("GA1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("CSV Dump").Sort .SetRange Range("GA1:GB9") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 

我的问题,如果山坳有重复值如下:

 GA GB 1 strn 2 accn 2 thon 8 advn 9 estn 14 actn 17 cngn 37 autn 49 empn 

那么我怎样才能修改代码或通过其他方法对Z-> A中的col GB进行sorting,仅对col GA中具有重复的范围进行sorting?

预期产出:

 GA GB 1 strn 2 thon 2 accn 8 advn 9 estn 14 actn 17 cngn 37 autn 49 empn 

你想要做的是添加第二个sorting级别。 这意味着之后

 ActiveWorkbook.Worksheets("CSV Dump").Sort.SortFields.Add Key:=Range("GA1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 

你需要input一个相似的行,但是用相反的顺序引用GB列。

  ActiveWorkbook.Worksheets("CSV Dump").Sort.SortFields.Add Key:=Range("GB1"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal