Condividi tramite


Proprietà WorksheetBase.FilterMode

Ottiene un valore che indica se nel foglio di lavoro è attiva la modalità filtro dei dati.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Sintassi

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

Valore proprietà

Tipo: System.Boolean
true se nel foglio di lavoro è attiva la modalità di filtro dei dati. In caso contrario false.

Note

Per determinare se il filtraggio è attualmente abilitato, ovvero se sono visualizzate le frecce a discesa del filtro nel foglio di lavoro, utilizzare la proprietà AutoFilterMode.

Per abilitare il filtro e creare un elenco filtrato, utilizzare il metodo AutoFilter di un oggetto Range o utilizzare il metodo AutoFilter di un oggetto NamedRange.

Questa proprietà è impostata su true se il foglio di lavoro contiene un elenco filtrato con righe nascoste.

Esempi

Nell'esempio di codice riportato di seguito viene creato un elenco filtrato di frutti in un oggetto Range. Viene quindi utilizzata la proprietà AutoFilter per visualizzare i criteri di filtro per l'elenco.Viene poi chiesto all'utente di disattivare il filtro utilizzando la proprietà AutoFilterMode e infine viene utilizzata la proprietà FilterMode per visualizzare se il foglio di lavoro contiene un elenco filtrato.

Questo esempio è valido per una personalizzazione a livello di documento.

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

WorksheetBase Classe

Spazio dei nomi Microsoft.Office.Tools.Excel