Compartilhar via


Método NamedRange.AdvancedFilter

Filtros ou copia-se os dados de uma lista com base nos critérios variam.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
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

  • CriteriaRange
    Tipo: System.Object
    Os critérios do intervalo.Se esse argumento for omitido, não há critério.
  • CopyToRange
    Tipo: System.Object
    O intervalo de destino para as linhas copiadas se Action é xlFilterCopy.Caso contrário, esse argumento é ignorado.
  • Unique
    Tipo: System.Object
    true para filtrar registros exclusivas; apenas false para filtrar todos os registros que atendem aos critérios.O valor padrão é false.

Valor de retorno

Tipo: System.Object

Comentários

Se a seleção inicial é uma única célula, a região atual da célula é usada.

Parâmetros Opcionais

Para obter informações sobre parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.

Exemplos

O exemplo de código a seguir define valores inteiros no intervalo das células de A1 com o A5 e usa o método de AdvancedFilter para filtrar e copiar os valores no intervalo das células que começam no B1.

Este exemplo é para uma personalização da nível.

    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);
}

Segurança do .NET Framework

Consulte também

Referência

NamedRange Interface

Namespace Microsoft.Office.Tools.Excel