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

Definition

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

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

Parameter

Action
XlFilterAction

Kann einer der folgenden XlFilterAction Werte sein: xlFilterCopyxlFilterInPlace

CriteriaRange
Object

Der Kriterienbereich. Wenn dieses Argument weggelassen wird, werden keine Kriterien verwendet.

CopyToRange
Object

Der Zielbereich für die kopierten Zeilen, wenn Action ist xlFilterCopy. Andernfalls wird dieses Argument ignoriert.

Unique
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.

Gibt zurück

Beispiele

Im folgenden Codebeispiel werden ganzzahlige Werte im Zellbereich von A1 bis A5 festgelegt und dann die AdvancedFilter -Methode verwendet, um die Werte zu filtern und in den Zellbereich ab B1 zu kopieren.

Dieses Beispiel gilt für eine Anpassung auf Dokumentebene.

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

Hinweise

Wenn es sich bei der Anfangsauswahl um eine einzelne Zelle handelt, wird der aktuelle Bereich dieser Zelle verwendet.

Optionale Parameter

Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Projektmappen.

Gilt für: