Trouble is it doesn't use the named ranges that I selected during the recording.
"K6:K288" should refer to "%age Selctd"
"J6:J288" should refer to "PK's Score"
"A5:AL288" should refer to "Db".
But substituting these names for the range doesn't work. How do I do it?
Code: Select all
Sub SortDb()
Application.Goto Reference:="Db"
ActiveWorkbook.Worksheets("CompareFundsAndModels-Super_2St").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("CompareFundsAndModels-Super_2St").Sort.SortFields. _
Add Key:=Range("K6:K288"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("CompareFundsAndModels-Super_2St").Sort.SortFields. _
Add Key:=Range("J6:J288"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("CompareFundsAndModels-Super_2St").Sort
.SetRange Range("A5:AL288")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub