ListObject.AutoFilter-Eigenschaft
Ruft eine gefilterte Tabelle ab.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
ReadOnly Property AutoFilter As AutoFilter
AutoFilter AutoFilter { get; }
Eigenschaftswert
Typ: Microsoft.Office.Interop.Excel.AutoFilter
Ein AutoFilter, der eine gefilterte Tabelle enthält.
Beispiele
Im folgenden Codebeispiel wird dem Arbeitsblatt ein ListObject hinzugefügt, das einer Tabelle in Excel entspricht.Im Beispiel wird dann die Tabelle mit zwei Reihen beliebiger Daten gefüllt und ein Filter für die Tabelle angegeben, der alle Zeilen herausfiltert, deren erster Spaltenwert nicht dem Zeichenfolgenwert "bb" entspricht.Als Nächstes wird im Beispiel die Anzahl der aktiven Filter angezeigt, die in der Tabelle gefunden wurden.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.