ListObject.AutoFilter (Propiedad) (2007 System)
Actualización: noviembre 2007
Obtiene una tabla filtrada.
Espacio de nombres: Microsoft.Office.Tools.Excel
Ensamblado: Microsoft.Office.Tools.Excel.v9.0 (en Microsoft.Office.Tools.Excel.v9.0.dll)
Sintaxis
Public ReadOnly Property AutoFilter As AutoFilter
Dim instance As ListObject
Dim value As AutoFilter
value = instance.AutoFilter
public AutoFilter AutoFilter { get; }
Valor de propiedad
Tipo: Microsoft.Office.Interop.Excel.AutoFilter
Objeto AutoFilter que contiene una tabla filtrada.
Ejemplos
En el ejemplo de código siguiente se agrega un ListObject a la hoja de cálculo, que corresponde a una tabla de Excel. A continuación, se rellena la tabla con dos filas de datos arbitrarios y se especifica un filtro en la tabla que filtra todas las filas cuyo primer valor de columna no es igual al valor de cadena "bb". Luego, se muestra el número de filtros activos hallados en la tabla.
Se trata de un ejemplo para una personalización en el nivel del documento.
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",missing],
"employeeTable");
// Populate table with some data
Excel.Range rng;
rng = employeeTable.InsertRowRange;
((Excel.Range)(rng[missing, 1])).Value2 = "bb";
((Excel.Range)(rng[missing,2])).Value2 = "b1";
Excel.ListRow row2 = employeeTable.ListRows.AddEx(missing,true);
rng = row2.Range;
((Excel.Range)(rng[missing,1])).Value2 = "aa";
((Excel.Range)(rng[missing,2])).Value2 = "a1";
// Set a filter
employeeTable.Range.AutoFilter(1, "bb",
Excel.XlAutoFilterOperator.xlFilterValues,missing,missing);
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 + ".");
}
Permisos
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.