Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Filtra o copia los datos de una lista basada en un rango de criterios.
Espacio de nombres: Microsoft.Office.Tools.Excel
Ensamblado: Microsoft.Office.Tools.Excel (en Microsoft.Office.Tools.Excel.dll)
Sintaxis
'Declaración
Function AdvancedFilter ( _
Action As XlFilterAction, _
CriteriaRange As Object, _
CopyToRange As Object, _
Unique As Object _
) As Object
Object AdvancedFilter(
XlFilterAction Action,
Object CriteriaRange,
Object CopyToRange,
Object Unique
)
Parámetros
- Action
Tipo: Microsoft.Office.Interop.Excel.XlFilterAction
Puede ser uno de los siguientes valores de XlFilterAction:
xlFilterCopy
xlFilterInPlace
- CriteriaRange
Tipo: System.Object
Rango de criterios.Si se omite este argumento, no hay ningún criterio.
- CopyToRange
Tipo: System.Object
El rango de destino para las filas copiadas si Action es xlFilterCopy.De lo contrario, se omite.
- Unique
Tipo: System.Object
Es true para filtrar solamente registros únicos; es false para filtrar todos los registros que cumplan los criterios.El valor predeterminado es false.
Valor devuelto
Tipo: System.Object
Comentarios
Si la selección inicial es una celda única, se utiliza la región actual de dicha celda.
Parámetros opcionales
Para obtener información sobre parámetros opcionales, vea Parámetros opcionales en las soluciones de Office.
Ejemplos
En el ejemplo de código siguiente se establecen los valores enteros del rango de celdas comprendido entre A1 y A5 y, a continuación, se usa el método AdvancedFilter para filtrar y copiar los valores del rango de celdas que empiecen en B1.
Se trata de un ejemplo para una personalización en el nivel del documento.
Private Sub ActivateAdvancedFilter()
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
Me.Range("A1").Value2 = 10
Me.Range("A2").Value2 = 10
Me.Range("A3").Value2 = 20
Me.Range("A4").Value2 = 10
Me.Range("A5").Value2 = 30
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy, , _
Me.Range("B1"), True)
End Sub
private void ActivateAdvancedFilter()
{
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A5"],
"namedRange1");
this.Range["A1"].Value2 = 10;
this.Range["A2"].Value2 = 10;
this.Range["A3"].Value2 = 20;
this.Range["A4"].Value2 = 10;
this.Range["A5"].Value2 = 30;
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
this.Range["B1"], true);
}
Seguridad de .NET Framework
- 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.