Share via


NamedRange.AdvancedFilter-Methode

Filtert oder kopiert Daten aus einer Liste auf Grundlage eines Kriterienbereichs.

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

Syntax

'Declaration
Function AdvancedFilter ( _
    Action As XlFilterAction, _
    CriteriaRange As Object, _
    CopyToRange As Object, _
    Unique As Object _
) As Object
Object AdvancedFilter(
    XlFilterAction Action,
    Object CriteriaRange,
    Object CopyToRange,
    Object Unique
)

Parameter

  • CriteriaRange
    Typ: System.Object
    Der Kriterienbereich.Wenn dieses Argument weggelassen wird, werden keine Kriterien verwendet.
  • CopyToRange
    Typ: System.Object
    Der Zielbereich für die kopierten Zeilen, wenn Action den Wert xlFilterCopy hat.Andernfalls wird dieses Argument ignoriert.
  • Unique
    Typ: System.Object
    true, um nur eindeutige Datensätze (d. h. ohne Duplikate) zu filtern, oder false, um alle Datensätze zu filtern, die mit den Kriterien übereinstimmen.Der Standardwert ist false.

Rückgabewert

Typ: System.Object

Hinweise

Wenn die ursprüngliche Auswahl eine einzelne Zelle umfasst, wird der aktuelle Bereich dieser Zelle verwendet.

Optionale Parameter

Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Lösungen.

Beispiele

Im folgenden Codebeispiel werden im Bereich der Zellen A1 bis A5 ganzzahlige Werte festgelegt. Anschließend werden diese Werte mithilfe der AdvancedFilter-Methode gefiltert und in den Zellbereich kopiert, der mit B1 beginnt.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

    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

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

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

    namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
        missing, this.Range["B1", missing], true);
}

.NET Framework-Sicherheit

Siehe auch

Referenz

NamedRange Schnittstelle

Microsoft.Office.Tools.Excel-Namespace