WorksheetBase.AutoFilter プロパティ

フィルター処理が有効な場合、ワークシートのフィルター処理されたリストに関する情報を提供する Microsoft.Office.Interop.Excel.AutoFilter を取得します。フィルター処理がオフの場合、nullnull 参照 (Visual Basic では Nothing) を取得します。

名前空間:  Microsoft.Office.Tools.Excel
アセンブリ:  Microsoft.Office.Tools.Excel.v4.0.Utilities (Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 内)

構文

'宣言
Public ReadOnly Property AutoFilter As AutoFilter
public AutoFilter AutoFilter { get; }

プロパティ値

型 : Microsoft.Office.Interop.Excel.AutoFilter
フィルター処理が有効な場合、ワークシートのフィルター処理されたリストに関する情報を提供する Microsoft.Office.Interop.Excel.AutoFilter。それ以外の場合は nullnull 参照 (Visual Basic では Nothing)。

解説

フィルター処理をプログラムで有効にするには、Range オブジェクトの AutoFilter メソッドまたは NamedRange オブジェクトの AutoFilter メソッドを使用します。

次のコード例では、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"].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 セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

WorksheetBase クラス

Microsoft.Office.Tools.Excel 名前空間

AutoFilterMode

FilterMode

AutoFilter

ShowAllData