次の方法で共有


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
    Get
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", 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 名前空間

AutoFilterMode

FilterMode

AutoFilter

ShowAllData