NamedRange.AdvancedFilter - метод
Отфильтровывает или копирует данные из списка на основании диапазона условий.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel (в Microsoft.Office.Tools.Excel.dll)
Синтаксис
'Декларация
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
)
Параметры
- Action
Тип: Microsoft.Office.Interop.Excel.XlFilterAction
Может иметь одно из следующих значений XlFilterAction:
xlFilterCopy
xlFilterInPlace
- CriteriaRange
Тип: System.Object
Диапазон условий.Если этот аргумент не указан, условия отсутствуют.
- CopyToRange
Тип: System.Object
Конечный диапазон для копируемых строк, если для Action присвоено значение xlFilterCopy.В противном случае этот аргумент не учитывается.
- Unique
Тип: System.Object
Значение true для фильтрации только уникальных записей; значение false для фильтрации всех записей, соответствующих условиям.Значение по умолчанию — false.
Возвращаемое значение
Тип: System.Object
Заметки
Если первоначально была выбрана отдельная ячейка, используется текущая область этой ячейки.
Необязательные параметры
Сведения о необязательных параметрах см. в разделе Необязательные параметры в решениях Office.
Примеры
В следующем примере кода задаются целые значения в диапазоне ячеек от A1 до A5, после чего с помощью метода AdvancedFilter выполняется фильтрация и копирование значений в диапазон ячеек, начиная с B1.
В этом примере демонстрируется настройка уровня документа.
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);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.