Поделиться через


NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) Метод

Определение

Отфильтровывает или копирует данные из списка на основании диапазона условий.

public object AdvancedFilter (Microsoft.Office.Interop.Excel.XlFilterAction Action, object CriteriaRange, object CopyToRange, object Unique);
abstract member AdvancedFilter : Microsoft.Office.Interop.Excel.XlFilterAction * obj * obj * obj -> obj
Public Function AdvancedFilter (Action As XlFilterAction, Optional CriteriaRange As Object, Optional CopyToRange As Object, Optional Unique As Object) As Object

Параметры

Action
XlFilterAction

Может иметь одно из следующих XlFilterAction значений: xlFilterCopyxlFilterInPlace

CriteriaRange
Object

Диапазон условий. Если этот аргумент не указан, условия отсутствуют.

CopyToRange
Object

Диапазон назначения для скопированных строк, если Action имеет значение xlFilterCopy. В противном случае этот аргумент не учитывается.

Unique
Object

Значение true для фильтрации только уникальных записей; значение false для фильтрации всех записей, соответствующих условиям. Значение по умолчанию — false.

Возвращаемое значение

Примеры

В следующем примере кода задаются целочисленные значения в диапазоне ячеек от A1 до A5, а затем используется AdvancedFilter метод для фильтрации и копирования значений в диапазон ячеек, начиная с B1.

Этот пример предназначен для настройки на уровне документа.

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

Комментарии

Если начальным выделением является одна ячейка, используется текущая область этой ячейки.

Необязательные параметры

Сведения о необязательных параметрах см. в разделе Необязательные параметры в решениях Office.

Применяется к