NamedRange.AdvancedFilter Method (XlFilterAction, Object, Object, Object)


Filters or copies data from a list based on a criteria range.

Namespace:   Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

object AdvancedFilter(
	XlFilterAction Action,
	object CriteriaRange,
	object CopyToRange,
	object Unique


Type: Microsoft.Office.Interop.Excel.XlFilterAction

Can be one of the following XlFilterAction values:



Type: System.Object

The criteria range. If this argument is omitted, there are no criteria.

Type: System.Object

The destination range for the copied rows if Action is xlFilterCopy. Otherwise, this argument is ignored.

Type: System.Object

true to filter unique records only; false to filter all records that meet the criteria. The default value is false.

Return Value

Type: System.Object

If the initial selection is a single cell, that cell's current region is used.

For information on optional parameters, see Optional Parameters in Office Solutions.

The following code example sets integer values in the range of cells from A1 through A5 and then uses the AdvancedFilter method to filter and copy the values to the range of cells starting at B1.

This example is for a document-level customization.

private void ActivateAdvancedFilter()
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A5"],

    this.Range["A1"].Value2 = 10;
    this.Range["A2"].Value2 = 10;
    this.Range["A3"].Value2 = 20;
    this.Range["A4"].Value2 = 10;
    this.Range["A5"].Value2 = 30;

         this.Range["B1"], true);
Return to top