Freigeben über


WorksheetBase.FilterMode-Eigenschaft

Ruft einen Wert ab, der angibt, ob auf dem Arbeitsblatt aktiv Daten gefiltert werden.

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

Syntax

'Declaration
Public ReadOnly Property FilterMode As Boolean
public bool FilterMode { get; }

Eigenschaftswert

Typ: System.Boolean
true , wenn das Arbeitsblatt Daten aktiv filtert; andernfalls false.

Hinweise

Um zu bestimmen, ob die Filterung derzeit aktiviert ist (ob die Filterdropdownpfeile im Arbeitsblatt angezeigt werden), verwenden Sie die AutoFilterMode-Eigenschaft.

Um das Filtern und Erstellen einer gefilterten Liste zu ermöglichen, verwenden Sie die AutoFilter-Methode eines Range-Objekts oder die AutoFilter-Methode eines NamedRange-Objekts.

Diese Eigenschaft ist true, wenn das Arbeitsblatt eine gefilterte Liste mit ausgeblendeten Zeilen enthält.

Beispiele

Im folgenden Codebeispiel wird eine gefilterte Liste von Obstsorten in einem Range erstellt. Anschließend werden mithilfe der AutoFilter-Eigenschaft die Filterkriterien für die Liste angezeigt.Danach wird der Benutzer aufgefordert, den Filter mithilfe der AutoFilterMode-Eigenschaft zu deaktivieren, und schließlich wird mithilfe der FilterMode-Eigenschaft angezeigt, ob das Arbeitsblatt über eine gefilterte Liste verfügt.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

Private Sub ActivateAutoFilter()
    Me.Range("A1").Value2 = "Fruits"
    Me.Range("A2").Value2 = "Banana"
    Me.Range("A3").Value2 = "Apple"
    Me.Range("A4").Value2 = "Banana"
    Me.Range("A5").Value2 = "Orange"
    Me.Range("A6").Value2 = "Apple"
    Me.Range("A7").Value2 = "Orange"

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

    NamedRange1.AutoFilter(1, "Apple", Excel.XlAutoFilterOperator.xlAnd, _
        VisibleDropDown:=True)

    MsgBox("The current criteria for the AutoFilter is: " & _
        Me.AutoFilter.Filters(1).Criteria1.ToString())

    If Me.AutoFilterMode Then
        If DialogResult.Yes = MessageBox.Show("Would you like to " & _
            "turn off the filter?", "Example", MessageBoxButtons.YesNo) Then
            Me.AutoFilterMode = False
        End If
    End If

    If Me.FilterMode Then
        MsgBox("The worksheet has a filtered list.")
    Else
        MsgBox("The worksheet does not have a filtered list")
    End If
End Sub
private void ActivateAutoFilter()
{
    this.Range["A1"].Value2 = "Fruits";
    this.Range["A2"].Value2 = "Banana";
    this.Range["A3"].Value2 = "Apple";
    this.Range["A4"].Value2 = "Banana";
    this.Range["A5"].Value2 = "Orange";
    this.Range["A6"].Value2 = "Apple";
    this.Range["A7"].Value2 = "Orange";

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

    NamedRange1.AutoFilter(1, "Apple",
       Excel.XlAutoFilterOperator.xlAnd, true);

    MessageBox.Show("The current criteria for the AutoFilter is: " +
        this.AutoFilter.Filters[1].Criteria1.ToString());

    if (this.AutoFilterMode)
    {
        if (DialogResult.Yes == MessageBox.Show("Would you like to " +
            "turn off the filter?", "Example", MessageBoxButtons.YesNo))
        {
            this.AutoFilterMode = false;
        }
    }

    if (this.FilterMode)
    {
        MessageBox.Show("The worksheet has a filtered list.");
    }
    else
    {
        MessageBox.Show("The worksheet does not have a filtered list");
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

WorksheetBase Klasse

Microsoft.Office.Tools.Excel-Namespace