共用方式為


ListObject.AutoFilter 屬性

取得篩選過的表格。

命名空間:  Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)

語法

'宣告
ReadOnly Property AutoFilter As AutoFilter
AutoFilter AutoFilter { get; }

屬性值

型別:Microsoft.Office.Interop.Excel.AutoFilter
AutoFilter ,其中包含篩選過的表格。

範例

下列程式碼範例會將 ListObject 加入至對應於 Excel 資料表的工作表。這個範例接著會將兩列任意資料填入 (Populate) 資料表,並在資料表上指定篩選條件,篩選出第一個資料行值不等於字串值 "bb" 的所有資料列。接下來,範例會顯示資料表中找到的使用中篩選條件數目。

這是示範文件層級自訂的範例。

Private Sub FilterListObject()
    ' Create ListObject control (table) and set table style
    Dim employeeTable As Microsoft.Office.Tools.Excel.ListObject = _
        Me.Controls.AddListObject(Me.Range("A1"), "employeeTable")

    ' Populate table with some data
    Dim rng As Excel.Range
    rng = employeeTable.InsertRowRange
    rng(ColumnIndex:=1).Value2 = "bb"
    rng(ColumnIndex:=2).Value2 = "b1"
    Dim row2 As Excel.ListRow = employeeTable.ListRows.AddEx( _
        AlwaysInsert:=True)
    rng = row2.Range
    rng(ColumnIndex:=1).Value2 = "aa"
    rng(ColumnIndex:=2).Value2 = "a1"

    ' Set a filter        
    employeeTable.Range.AutoFilter(1, "bb")        
    Dim activeFilterCount As Integer = 0
    For Each filter As Excel.Filter In employeeTable.AutoFilter.Filters
        If filter.On = True Then
            activeFilterCount += 1
        End If
    Next
    MessageBox.Show("There are " + activeFilterCount.ToString() _
        + " active filter(s) for table " + employeeTable.Name + ".")

End Sub
private void FilterListObject()
{
    // Create ListObject control (table) and set table style
    Microsoft.Office.Tools.Excel.ListObject employeeTable =
        this.Controls.AddListObject(this.Range["A1"], 
        "employeeTable");

    // Populate table with some data
    Excel.Range rng;
    rng = employeeTable.InsertRowRange;
    ((Excel.Range)(rng[1])).Value2 = "bb";            
    ((Excel.Range)(rng[2])).Value2 = "b1";
    Excel.ListRow row2 = employeeTable.ListRows.AddEx(true);
    rng = row2.Range;
    ((Excel.Range)(rng[1])).Value2 = "aa";
    ((Excel.Range)(rng[2])).Value2 = "a1";

    // Set a filter        
    employeeTable.Range.AutoFilter(1, "bb", 
        Excel.XlAutoFilterOperator.xlFilterValues);        
    int activeFilterCount = 0;
    foreach (Excel.Filter filter in employeeTable.AutoFilter.Filters)
    {
        if (filter.On == true)
        {
            activeFilterCount += 1;
        }
    }
    MessageBox.Show("There are " + activeFilterCount.ToString()
        + " active filter(s) for table " + employeeTable.Name + ".");

}

.NET Framework 安全性

請參閱

參考

ListObject 介面

Microsoft.Office.Tools.Excel 命名空間