you can try this:
dynamic allDataRange = yourWorkSheet.UsedRange;
allDataRange.Sort(allDataRange.Columns[1], Excel.XlSortOrder.xlDescending);
to sort in certain range use the code below before the code above:
Excel.Range last = xlWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = xlWorkSheet.get_Range("B3", last);
note: change "B3" to the cell you want to begin with.