NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Filters or copies data from a list based on a criteria range.
public object AdvancedFilter (Microsoft.Office.Interop.Excel.XlFilterAction Action, object CriteriaRange, object CopyToRange, object Unique);
abstract member AdvancedFilter : Microsoft.Office.Interop.Excel.XlFilterAction * obj * obj * obj -> obj
Public Function AdvancedFilter (Action As XlFilterAction, Optional CriteriaRange As Object, Optional CopyToRange As Object, Optional Unique As Object) As Object
Parameters
- Action
- XlFilterAction
Can be one of the following XlFilterAction values: xlFilterCopyxlFilterInPlace
- CriteriaRange
- Object
The criteria range. If this argument is omitted, there are no criteria.
- CopyToRange
- Object
The destination range for the copied rows if Action
is xlFilterCopy. Otherwise, this argument is ignored.
- Unique
- Object
true
to filter unique records only; false
to filter all records that meet the criteria. The default value is false
.
Returns
Examples
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"],
"namedRange1");
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;
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
this.Range["B1"], true);
}
Private Sub ActivateAdvancedFilter()
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
Me.Range("A1").Value2 = 10
Me.Range("A2").Value2 = 10
Me.Range("A3").Value2 = 20
Me.Range("A4").Value2 = 10
Me.Range("A5").Value2 = 30
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy, , _
Me.Range("B1"), True)
End Sub
Remarks
If the initial selection is a single cell, that cell's current region is used.
Optional Parameters
For information on optional parameters, see Optional Parameters in Office Solutions.