NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
基于条件范围从列表筛选或复制数据。
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 解决方案中的可选参数。