Share via


WorksheetBase.AutoFilterMode 속성

워크시트에서 필터링이 현재 사용되는지(즉, 필터 드롭다운 화살표가 현재 표시되는지) 여부를 나타내는 값을 가져오거나 설정합니다.

네임스페이스:  Microsoft.Office.Tools.Excel
어셈블리:  Microsoft.Office.Tools.Excel.v4.0.Utilities(Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

구문

‘선언
Public Property AutoFilterMode As Boolean
    Get
    Set
public bool AutoFilterMode { get; set; }

속성 값

형식: System.Boolean
워크시트에서 필터링이 현재 사용되면 true이고, 그렇지 않으면 false입니다.

예외

예외 상황
COMException

이 속성은 true로 설정됩니다.

설명

필터링을 사용하지 않도록(필터 드롭다운 목록 제거) 이 속성을 false로 설정할 수 있지만 true로 설정할 수는 없습니다. 필터링을 사용하고 필터 목록을 만들려면 Range 개체의 AutoFilter 메서드나 NamedRange 개체의 AutoFilter 메서드를 사용합니다.

이 속성은 필터링 사용 여부만 나타냅니다. 데이터의 필터링 여부는 나타내지 않습니다. 워크시트가 적극적으로 데이터를 필터링할지 여부를 확인하려면 FilterMode 속성을 사용합니다.

예제

다음 코드 예제에서는 Range에 필터링된 과일 목록을 만든 다음 AutoFilter 속성을 사용하여 이 목록에 대한 필터 조건을 표시합니다. 그런 다음 AutoFilterMode 속성을 사용하여 필터를 해제할 것인지 묻는 메시지를 사용자에게 표시하고, FilterMode 속성을 사용하여 워크시트에 필터링된 목록이 포함되어 있는지 여부를 표시합니다.

이 예제는 문서 수준 사용자 지정을 위한 것입니다.

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", missing].Value2 = "Fruits";
    this.Range["A2", missing].Value2 = "Banana";
    this.Range["A3", missing].Value2 = "Apple";
    this.Range["A4", missing].Value2 = "Banana";
    this.Range["A5", missing].Value2 = "Orange";
    this.Range["A6", missing].Value2 = "Apple";
    this.Range["A7", missing].Value2 = "Orange";

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

    NamedRange1.AutoFilter(1, "Apple",
       Excel.XlAutoFilterOperator.xlAnd, missing, 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 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

WorksheetBase 클래스

Microsoft.Office.Tools.Excel 네임스페이스