# Remove Duplicates Workbook (preview)

> Remove Duplicates Workbook activity that removes duplicate rows from a range, comparing all columns or only specific columns.

`UiPath.Excel.Activities.RemoveDuplicates`

## Description

Removes duplicate rows from a range, comparing all columns or only specific columns. This is the cross-platform equivalent of the [Remove Duplicates](https://docs.uipath.com/activities/other/latest/productivity/remove-duplicates-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 remove duplicate rows from. If you don't specify a range, the whole used range of the sheet is used.
* **Compare** - Select which columns to compare when looking for duplicate rows. This field is required. The default value is **Compare all columns**. You can choose from the following options:
  * **Compare all columns** - Compares every column of the range. **Columns To Compare** is ignored.
  * **Compare individual columns** - Compares only the columns listed in **Columns To Compare**.
* **Columns To Compare** - The columns to compare. You can use a list, an array, or any sequence of values. When **Has Headers** is selected, enter header names, which must match a header exactly. A value is never read as a column letter in that case. When **Has Headers** is not selected, enter column letters inside the range. This field is required when **Compare** is **Compare individual columns**, and the list must contain at least one column.

### Options

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

### Output

* **Removed Rows Count** - The number of duplicate rows that the activity removed, stored as an `Int32` variable.

### Use Workbook

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

## Notes

* The activity keeps the first occurrence of each unique row and removes the later duplicates. The rows below shift up.
* If the range covers the whole used range, the hidden or visible state of each row moves with the shift. If the range is narrower than the sheet, the row visibility is left unchanged, as in Excel, because it is a property of the entire row.
* A header name that doesn't match a header, or a column letter outside the range, causes an error.
* A whole-column or whole-row range, such as `A:A`, 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:A10`, is not supported and causes an error.
