# Sort Range Workbook (preview)

> Sort Range Workbook activity that sorts the data in a range by one or more columns.

`UiPath.Excel.Activities.SortRange`

## Description

Sorts the data in a range by one or more columns. This is the cross-platform equivalent of the [Sort Range](https://docs.uipath.com/activities/other/latest/productivity/sort-x) Windows activity.

:::note
This activity does not support `.xls` files.
:::

## Project compatibility

Windows | Cross-platform

## Properties

### Common

* **DisplayName** - The name displayed for the activity in the Designer panel.

### Input

* **File** - The full path of the resource workbook. To switch to a local path, select the plus icon, and then **Use Local File**. The current field changes to **File (local path)**, where you can provide the full path of the workbook.
* **SheetName** - The name of the sheet from the workbook.
* **Range** - The range to sort, in the `A1:B10` format. This field is required.
* **Sort Columns** - The columns to sort by, in priority order. You can use a list, an array, or any sequence. This field is required. Each entry has the following members:
  * `ColumnName` - The column to sort by. Enter its header name when **Has Headers** is selected, or its letter otherwise, for example, `"B"`.
  * `Order` - The sort direction, `Ascending` or `Descending`. The default value is `Ascending`.

### Options

* **Has Headers** - Select this option to treat the first row of the range as a header row and exclude it from the sort. By default, this option is selected.
* **Password** - The password of the workbook, if necessary.

### Use Workbook

* **Workbook** - The existing workbook to use instead of a file path.

## Notes

* When **Has Headers** is selected, `ColumnName` must match a header exactly. It is never read as a column letter in that case. When **Has Headers** is not selected, `ColumnName` must be a column letter inside the range.
* The header row stays in place and is not sorted.
* A whole-column or whole-row range, such as `A:C`, is limited to the used range of the sheet.
* **Range** must refer to the sheet in **SheetName**. A range that includes a sheet name, such as `Sheet2!A1:C10`, is not supported and causes an error.
* The activity fails with an error in the following cases:
  * **Range** or **Sort Columns** is empty.
  * **Sort Columns** contains an empty entry, or an entry without a `ColumnName`.
  * **Has Headers** is selected and a `ColumnName` doesn't match any header.
  * **Has Headers** is not selected and a `ColumnName` is a column letter outside the range.
