2016-02-11 65 views
0

我在COL GA和GB分別範圍排列使用多個條件

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

以下數據並予使用下面的自動生成的代碼來執行A-> Z分類與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有重複的值下面一樣:

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

那我怎麼才能從修改代碼或以其他任何方式進行排序山坳GB Z-> A只需爲範圍在col GA中有重複?

預期輸出:

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

回答

1

你想要做什麼是添加第二個排序級別。這意味着經過

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

你會想輸入一個類似的行,但用相反的順序引用GB列。

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

好的,這有助於感謝:) – newguy