Try:Range("A4:G" & range("A" & rows.count).end(xlup).row).Select Activesheet.Sort.SortFields.Clear Activesheet.Sort.SortFields.Add Key:=Range( _ "B4:B44"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With Activesheet.Sort .SetRange Range("A4:G" & range("A" & rows.count).end(xlup).row) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With