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.