Share via


NamedRange.AutoFilter Method

Filters a list using the AutoFilter.

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

Syntax

'Declaration
Function AutoFilter ( _
    Field As Object, _
    Criteria1 As Object, _
    Operator As XlAutoFilterOperator, _
    Criteria2 As Object, _
    VisibleDropDown As Object _
) As Object
Object AutoFilter(
    Object Field,
    Object Criteria1,
    XlAutoFilterOperator Operator,
    Object Criteria2,
    Object VisibleDropDown
)

Parameters

  • Field
    Type: System.Object

    The offset of the field on which you want to base the filter (from the left of the list; the leftmost field is field 1 (one)).

  • Criteria1
    Type: System.Object

    The criteria (a string; for example, "101"). Use "=" to find blank fields, or use "<>" to find nonblank fields. If this argument is omitted, the criteria is All. If Operator is xlTop10Items, Criteria1 specifies the number of items (for example, "10").

  • Criteria2
    Type: System.Object

    The second criteria (a string). Used with Criteria1 and Operator to construct compound criteria.

  • VisibleDropDown
    Type: System.Object

    true to display the AutoFilter drop-down arrow for the filtered field; false to hide the AutoFilter drop-down arrow for the filtered field. true by default.

Return Value

Type: System.Object

Remarks

If you omit all the arguments, this method simply toggles the display of the AutoFilter drop-down arrows in the NamedRange control.

Optional Parameters

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

Examples

The following code example sets cells A1 through A5 to five different name strings and then uses the AutoFilter method to filter for the name "Robert".

This example is for a document-level customization.

Private Sub SetAutoFilter()
        Me.Range("A1").Value2 = "Kathleen" 
        Me.Range("A2").Value2 = "Robert" 
        Me.Range("A3").Value2 = "Paul" 
        Me.Range("A4").Value2 = "Harry" 
        Me.Range("A5").Value2 = "George" 

        Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
            = Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
            "namedRange1")

        namedRange1.AutoFilter(1, "Robert", _
            Excel.XlAutoFilterOperator.xlAnd, , True)
    End Sub
private void SetAutoFilter()
{
    this.Range["A1"].Value2 = "Kathleen";
    this.Range["A2"].Value2 = "Robert";
    this.Range["A3"].Value2 = "Paul";
    this.Range["A4"].Value2 = "Harry";
    this.Range["A5"].Value2 = "George";

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

    namedRange1.AutoFilter(1, "Robert",
        Excel.XlAutoFilterOperator.xlAnd, true);
}

.NET Framework Security

See Also

Reference

NamedRange Interface

Microsoft.Office.Tools.Excel Namespace