Partilhar via


Método NamedRange.AdvancedFilter

Filtra ou copia dados de uma lista com base em um intervalo de critérios.

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
    O intervalo de critérios.Se esse argumento for omitido, não há nenhum critério.
  • CopyToRange
    Tipo: System.Object
    Intervalo de destino para as linhas copiadas se Action é xlFilterCopy.Caso contrário, este argumento é ignorado.
  • Unique
    Tipo: System.Object
    true para filtrar somente; registros exclusivos falsepara todos os registros que satisfaçam os critérios de filtro.O valor padrão é false.

Valor de retorno

Tipo: System.Object

Comentários

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

Optional Parameters

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

Exemplos

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

Este exemplo é para uma personalização em nível de 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", missing].Value2 = 10;
    this.Range["A2", missing].Value2 = 10;
    this.Range["A3", missing].Value2 = 20;
    this.Range["A4", missing].Value2 = 10;
    this.Range["A5", missing].Value2 = 30;

    namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
        missing, this.Range["B1", missing], true);
}

Segurança do .NET Framework

Consulte também

Referência

NamedRange Interface

Namespace Microsoft.Office.Tools.Excel