Udostępnij za pośrednictwem


Właściwość WorksheetBase.AutoFilterMode —

Pobiera lub ustawia wartość, która wskazuje, czy filtrowanie jest aktualnie włączone w arkuszu (to znaczy, czy wyświetlane są obecnie strzałki rozwijania filtru).

Przestrzeń nazw:  Microsoft.Office.Tools.Excel
Zestaw:  Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Składnia

'Deklaracja
Public Property AutoFilterMode As Boolean
public bool AutoFilterMode { get; set; }

Wartość właściwości

Typ: System.Boolean
true Jeśli filtrowanie jest aktualnie włączone w arkuszu; w przeciwnym razie false.

Wyjątki

Wyjątek Warunek
COMException

Ta właściwość jest ustawiona na true.

Uwagi

Właociwooć tę można ustawić, false Aby wyłączyć filtrowanie (oznacza to, aby usunąć strzałki filtru), ale nie można go ustawić true.Aby włączyć filtrowanie i tworzyć listy filtrowanej, użyj AutoFilter metoda Range obiekt lub za pomocą AutoFilter metoda NamedRange obiektu.

Właściwość ta wskazuje tylko, czy filtrowanie jest włączone; nie oznacza to, czy wszystkie dane są filtrowane.Aby określić, czy arkusz jest aktywnie filtrowanie danych, użyj FilterMode właściwość.

Przykłady

Poniższy kod ilustruje tworzenie listy filtrowanej owoców w Range, a następnie używa AutoFilter właściwość, aby wyświetlić kryteria filtru dla listy.Przykład następnie monitujące użytkownika, aby wyłączyć filtrowanie przy użyciu AutoFilterMode właściwość, a na końcu zastosowań FilterMode właściwość, aby wyświetlić czy w arkuszu ma listy filtrowanej.

Ten przykład dotyczy dostosowywania poziomie dokumentu.

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");
    }
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

WorksheetBase Klasa

Przestrzeń nazw Microsoft.Office.Tools.Excel