2016-04-25 96 views
0

的範圍該用於分揀的範圍基於E欄數據的代碼值排序數據

Sub SortByLevel() 

    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("E13:E528" _ 
    ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 

    With ActiveWorkbook.Worksheets("Sheet1").Sort 
     .SetRange Range("A12:L528") 
     .Header = xlYes 
     .MatchCase = False 
     .Orientation = xlTopToBottom 
     .SortMethod = xlPinYin 
     .Apply 
    End With 

End Sub 

注意B12:L12是接頭連接器的範圍內。我的印象是,這可能比這更簡單。任何建議將不勝感激。 謝謝,邁克爾

回答

2

使用本:

Range("A12:L528").Sort Key1:=Range("E13"), Order1:=xlAscending, Header:=xlYes 
+0

謝謝你,它工作正常!如果我可以問,當我有一個自定義列表時,例如 'CustomOrder:=「Low,Normal,High」',基於此我想對相同範圍的數據進行排序,我應該在哪裏將它嵌入您發佈的代碼中?因爲我得到一個錯誤 – GunnRos86

+0

必須添加自定義列表到排序選項像這樣,第1行:ActiveSheet.Sort.SortFields.Add Key:= Range(「E13」),CustomOrder:=「Low,Normal,High」line 2 : Range(「A12:L528」)。Sort Key1:= Range(「E13」),Order1:= xlAscending,Header:= xlYes –