Hi Fluff, the above is a bit complicate for me and usually i use the below code, which i assign it into macro command, using "Record" function. Just i need an advice how to adapt it to any name of sheet. Based on below is for a specific Sheet named "Statement Debtors Ageing"
Thank you in advance
Sub SortbyName()
ActiveWorkbook.Worksheets("Statement Debtors Ageing").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Statement Debtors Ageing").Sort.SortFields.Add Key _
:=Range("B5:B10001"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Statement Debtors Ageing").Sort
.SetRange Range("A4:I10001")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub